首页 > 代码库 > Git操作指南

Git操作指南

      开发过程中,会不断发现新需求,不断发现bug,这时候就需要一个好的软件来管理项目。Git提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。Git支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。

安装Git:

    点击下载Git, 安装成功后,在桌面上,可以看到安装后的“Git Bash”选项。

    新建文件夹demo,进去之后右键单击选择菜单项Git Bash Here,弹出窗口即可操作。

生成秘钥:

   在命令框中输入ssh-keygen -t rsa -C “yourEmail@*.com” 连续三次按enter键,出现The key fingerprint is:表示生成成功。

     在C:\Users\Your\.ssh路劲下回看到id_rsa和id_rsa.pub,前一个文件是私钥,后一个是公钥,一般将公钥服务器进行认证。

下面按照功能介绍一些Git指令:

     创建仓库:

         git clone git://github.com/   克隆远程仓库

         git init           初始化本地仓库

  全局配置:

   git config -global user.name <name>   设置提交者的名字

   git config -global user.email <email>    设置提交者邮箱

        git config -global core.editor <editor>  设置默认文本编辑器

        git config -global merge.tool <tool>     设置解决合并冲突时差异分析工具

        git config -list                                     检查已有的配置信息

     修改内容提交

    git add .                                       添加所有改动过的文件

        git add <file>                                添加指定的文件

        git mv <old> <new>                      文件重命名

        git rm <file>                                 删除文件

        git rm -cached <file>                     停止跟踪文件但不删除

        git commit -m <file>                     提交指定文件

        git commit -m “commit message”  提交所有更新过的文件

        git commit -amend                        修改最后一次提交

        git commit -C HEAD -a -amend       增补提交(不会产生新的提交历史纪录)

查看提交历史
   git log                 查看提交历史
   git log -p <file>    查看指定文件的提交历史
   git blame <file>    以列表方式查看指定文件的提交历史
   gitk                     查看当前分支历史纪录
   gitk <branch>      查看某分支历史纪录
   gitk --all              查看所有分支历史纪录
   git branch -v        每个分支最后的提交
   git status             查看当前状态
   git diff                 查看变更内容

撤消操作
     git reset -hard HEAD                     撤消工作目录中所有未提交文件的修改内容
     git checkout HEAD<file1> <file2>  撤消指定的未提交文件的修改内容
     git checkout HEAD.                       撤消所有文件
     git revert<commit>                      撤消指定的提交

分支与标签
     git branch                                    显示所有本地分支
     git checkout<branch/tagname>     切换到指定分支或标签
     git branch<new-branch>              创建新分支
     git branch -d<branch>                 删除本地分支
     git tag                                         列出所有本地标签
     git tag <tagname>                       基于最新提交创建标签
     git tag -d<tagname>                   删除标签

合并与衍合
     git merge <branch> 合并指定分支到当前分支
     git rebase<branch>  衍合指定分支到当前分支

远程操作
     git remote -v                                             查看远程版本库信息
     git remote show<remote>                         查看指定远程版本库信息
     git remote add<remote> <url>                  添加远程版本库
     git fetch <remote>                                    从远程库获取代码
     git pull <remote><branch>                       下载代码及快速合并
     git push <remote><branch>                     上传代码及快速合并
     git push <remote>: <branch>/<tagname>  删除远程分支或标签
     git push -tags                                           上传所有标签

 当你在与他人合作开发时,需要自己新建一个仓库可以如下操作:

         git branch -b ‘branch-name‘   新建分支branch-name

   git checkout -b ‘branch-name‘ 新建分支并切换到新分支

   git commit                             提交修改内容

   git push                                提交到远程

   git checkout 主分支                 切换到主分支

   git pull                                   更新主分支代码

   git merge --no-ff ‘branch-name‘ 合并自己分支到主分支

当两个人同时修改一个文件,无论是提交还是合并分支时候容易出现冲突,解决方法:

        git stash                将自己修改的内容放在缓存区

   git pull                   更新别人提交的代码

   git stash pop          将缓存区的代码释放

   git status                查看文件状态,如果有提示文件冲突,打开对应的文件修改,然后 git add 文件

删除分支(删除分支前确定没有人在当前分支操作):

         git branch -d 分支名                删除本地分支

   git push origin --delete 分支名   删除远程仓库分支

         当删除完分支时比人需要执行 git fetch origin 来更新最新分支

查看自己的修改:

        git diff      提交之前查看

   git show  提交之后查看

恢复被删除的文件:

         git ls-files --deleted              查看被删除的文件

   git checkout -- file-name       恢复文件

查看文件操作历史记录:

         git log -p filename

注意: 每次提交自己的代码前都要git pull更新到最新的代码,以免冲突

 

git配置文件:

在命令行中输入 vi ~/.gitconfig 即可进入git配置文件,下面的配置主要是简化命令,添加(i,粘贴)到配置文件中保存退出(:wq)即可

 [alias]
        co = checkout
        ci = commit
        br = branch
        st = status
        unstage = reset HEAD --
        last = log -1 HEAD
        mg = merge --no-ff
        glog = log --pretty=oneline --graph
        df = difftool
        sh = stash
        pl = pull --rebase
        ph = push
        sp = stash pop
        lg = log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘
        rv = revert --soft HEAD^
[color]
        ui = true
[format]
        pretty = oneline 

git快捷键:

     Insert:粘贴

  ctrl+f: 查看下一页

     ctrl+b: 查看上一页

  i:        进入编辑模式

  esc:  退出编辑模式

  :wq    保存退出

  q        退出阅读模式

小结:

    git是一款功能强大的版本控制软件,通过它我们可以方便的管理自己的项目,下面是分享一些介绍git工作原理的网址:

          git - 简明指南:http://rogerdudler.github.io/git-guide/index.zh.html

     图解Git:http://marklodato.github.io/visual-git-guide/index-zh-cn.html