美文网首页
代码版本控制工具GIT

代码版本控制工具GIT

作者: WJunF | 来源:发表于2019-04-29 16:52 被阅读0次

    GIT

    Linus:

                    I’m an egotistical bastard, and I name all my projects after myself. First Linux, now git.

    官方指南:https://git-scm.com/book/zh/v2

    一图胜千言:

    Git 是一个版本控制工具,它能实现团队中的代码协作开发,在代码同步和管理方面功能强大、理念先进。

    Git 是当下最流行的分布式版本控制工具,轻量级,但功能强大,由 linux 之父 linus 开发。它的使用特别广泛,尤其开源社区基本都用它作为版本控制工具。我们每个人也要尽量掌握它。

    而网站 github.com 是基于 git 工具的一个代码托管网站,目前基本所有知名的开源项目都选择把代码部署到这个网站。这里的代码包罗万象,是个学习的天堂。实属居家旅行、杀人拿塔的必备网站。

    如果想用 git 工具下载同步代码,方法如下:

    #1. 进入 git bash,切换到相应目录,比如,e 盘下的 course 目录

    cd/e/course/


    #2. 如果是第一次下载,执行以下命令

    git clone https://github.com/13431/notes.git


    #3. 如果不是第一次下载,只是更新代码,执行以下命令

    #ps. 要经常运行这个命令,保持与服务器的同步

    cd/e/course/notes/

    git pull


    这是 Git 的一个教程,大家有时间可以按照上面的看看、练练,以后务必掌握基本用法: Git 廖雪峰 教程

    下面总结了一下常用的基本命令:

    ## 修改 .gitconfig 文件,这是 git 的配置文件

    vi~/.gitconfig


    ## 初始化 版本库

    git init

    git init-db


    ## 添加忽略文件。这个文件控制,哪些文件不要被提交

    echo "*.svn" > .gitignore


    ## 将改变增加至索引

    git add .


    ## 从索引写入到库

    git commit -m "提交到版本库"

    git commit -a -m "提交,连同所有未 add 的修改文件"

    git commit --amend -a -m "替换最后一次的提交信息"


    ## 查看修改了什么东西

    git diff

    git diff --cached

    git status


    ## 回撤版本,重新提交。后悔药。

    git reset HEAD^                               # 回撤到上一版本,默认是 --mix 形式,另有 --soft 和 --hard 形式

    git status                                      # 可以看到,上一版本提交的文件没有增加到 index 的状态

    git add/commit...                         # 做完处理后,重新提交 

    ## 查看日志,历史记录

    git show

    git log

    git log --pretty=oneline                             #定制 log 的显示样式

    git log -2 -p                                                 #显示最近两次提交的详细信息

    git log --stat --summary                                #简要显示每次更新的统计信息(提交过那些文件,有多少行修改)

    git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'--abbrev-commit


    ## 增加/查看/切换/删除 分支

    git branch                                               #查看分支

    git branch 1234                                  #创建分支 1234

    git branch 1234 343223                           #以 343223 为起点创建1234 分支

    git checkout 1234                                      #切换到分支 1234    

    git checkout -b tmp                                #创建并切换到分支 tmp

    git branch -D tmp                                #删除分支 tmp

    ## 合并工作到主分支(1234 -> master)

    git checkout master                        #切换到主分支

    git merge HEAD 1234                #将 1234 的最新版本合并到当前分支

    git pull.1234                                  #相当于 git fetch && git merge

    ## 生成并应用补丁,这是另外一个合并工作的方法。暂时不需要搞太清楚。

    git format-patch master>A.patchgit checkout master                    #先生成补丁文件,再切换到分支目录

    git apply A.patch                                         #应用补丁文件到当前分支

    git add/commit...                                 #然后提交修改

    ## 下载/上传/更新 信息到指定版本库

    git clone git://192.168.1.1/repo.git

    git push git://192.168.1.1/repo.git 1234:master

    git pull git://192.168.1.1/repo.git master:1234

    git fetch public

    ## 其他命令:

    git tag                             #将某个版本做个标记,即赋予一个好记的名字

    git gc                                #垃圾收集,能大大减小版本库大小

    git repack                      #同上,也能大大减小版本库大小

    git ls-tree HEAD                #查看版本库中的文件结构,下面语句是跟 awk 合作,打印整个目录结构

    git ls-tree -r HEAD|awk'{print $4}'>d:/home/index/repTree

    git whatchanged                                               #显示某个版本改变了哪些文件

    git show-branch                                                #显示分支变动情况

    git reflog                                                           #显示所有变更历史(跟 git log 不同)

    git clone                                                           #相当于 git init && git fetch

    git pull                                                             #相当于 git fetch && git merge

    git rebase                                                        #git merge 外,合并仓库的另一种形式

    ## 下面的例子是建立一个纯仓库,并作为开发的中心仓库(即 GIT 服务端)

    git clone --bare /workspace/hnpmi /repo/1234.git                #创建一个新的纯仓库,用于备份、共享

    cd/workspace/1234                                                               #这是我们的工作目录

    git remote add origin /repo/1234.git                                      #将刚才新建的仓库添加为我们的远程分支

    git push origin master                                                             #本地的 master 分支有更新,同步到远程分支

    Subversion


    首先,下载可爱的小乌龟:

    wget https://nchc.dl.sourceforge.net/project/tortoisesvn/1.9.5/Application/TortoiseSVN-1.9.5.27581-x64-svn-1.9.5.msi

    其次,如果想使用 svn 从服务器上下载东西:

    svn checkout http://svn.apache.org/repos/asf/struts/struts2

    svn co http://svn.apache.org/repos/asf/struts/struts2

    如果想同步代码:

    svn update

    查看当前代码的修改情况:

    svn status

    svn st

    如果想提交代码:

    svn commit -m 我的注释

    svn ci -m "My Message"

    查看日志:

    svn log

    寻求帮助

    svn --help

    svn update --help

    搭建服务器

    首先,创建一个 svn 库:

    svnadmin create /var/svn/aaa

    修改下面的 conf/svnserver.conf 文件,将下面几条注释去掉

    anon-access = read # 匿名用户只能读,不能改

    anon-access = write      # 已登录用户,可以修改

    password-db = passwd    # 指明验证文件的名字

    其次,开启服务:

    svnserve --daemon --root /tmp/bbb

    然后,就可以访问了

    svn co svn://ip

    导入文件夹到项目,可以用 import 命令:

    svn import ~/hello svn://ip/hello

    相关文章

      网友评论

          本文标题:代码版本控制工具GIT

          本文链接:https://www.haomeiwen.com/subject/mndynqtx.html