Git常用命令

Git常用命令

符号约定

  • `` 自定义内容
  • [xxx] 可选内容
  • []自定义可选内容
  • workspace: 本地的工作目录。(记作A)
  • index:缓存区域,临时保存本地改动。(记作B)
  • local repository: 本地仓库,只想最后一次提交HEAD。(记作C)
  • remote repository:远程仓库。(记作D)

以下所有的命令的功能说明,都采用上述的标记的A、B、C、D的方式来阐述。

#初始设置

git config --global user.name "<用户名>" #设置用户名

git config --global user.email "<电子邮件>" #设置电子邮件

git init //创建

git clone /path/to/repository //检出

#本地操作

git add // 文件添加,A → B

git add . // 所有文件添加,A → B

git commit -m "代码提交信息" //文件提交,B → C

git commit --amend //与上次commit合并, *B → C

#远端操作

git clone #克隆到本地。

git push origin master //推送至master分支, C → D  git push [-f] [<远端别名>] [<远端branch>] #推送到远端,-f为强制覆盖

git pull //更新本地仓库至最新改动, D → A

git fetch //抓取远程仓库更新, D → C

git log //查看提交记录

git status //查看修改状态

git diff//查看详细修改内容

git show//显示某次提交的内容

git remote add <别名> #设置远端别名

git remote [-v] #列出远端,-v为详细信息

git remote show <远端别名> #查看远端信息

git remote rename <远端别名> <新远端别名> #重命名远端

git remote rm <远端别名> #删除远端

git remote update [<远端别名>] #更新分支列表

#撤销操作

git reset //某个文件索引会回滚到最后一次提交, C → B

git reset//索引会回滚到最后一次提交, C → B

git reset --hard // 索引会回滚到最后一次提交, C → B → A

git checkout // 从index复制到workspace, B → A

git checkout -- files // 文件从index复制到workspace, B → A

git checkout HEAD -- files // 文件从local repository复制到workspace, C → A

#删除操作

git rm [--cached] filename  //将暂存区域与工作区域的文件一起删除  ;--cached:如果删除的文件在工作区域进行修改,则只删除暂存区域的文件

git rm [-f ]工作区、暂存区全部强制删除

#分支相关

分支指针:

git branch [-r] [-a] #列出分支,-r远端 ,-a全部

git branch <分支名> #新建分支

git branch -m oldname newname  //修改分支名称

git branch -b <分支名> #新建并切换分支

git branch -d <分支名> #删除分支

git checkout <分支名> #切换到分支

git checkout -b <本地branch> [-t <远端别名>/<远端分支>] #-b新建本地分支并切换到分支, -t绑定远端分支

git merge <分支名> #合并某分支到当前分支

git rebase //衍合,线性化的自动, D → A

#冲突处理

git diff //对比工作区与暂存区的差异

git diff --staged //比较暂存区与版本库的文件差异

git diff 版本号 版本号  //比较分支内两个版本的差异

git diff 分支 分支  //比较两个分支最新提交版本的差异

git diff HEAD //对于workspace与最后一次commit

git add //修改完冲突,需要add以标记合并成功

#其他

gitk //开灯图形化git

git config color.ui true //彩色的 git 输出

git config format.pretty oneline //显示历史记录时,每个提交的信息只显示一行

git add -i //交互式添加文件到暂存区

#图片介绍

 

Git使用规范

Git 使用规范流程 - http://www.ruanyifeng.com/blog/2015/08/git-use-process.html 团队中的 Git 实践 - https://ourai.ws/posts/working-with-git-in-team/ 构家网 git 团队协作使用规范 v2 - http://wenku.baidu.com/view/e1430d1b7f1922791788e81e

Git使用规范提醒

  • 使用Git过程中,必须通过创建分支进行开发,坚决禁止在主干分支上直接开发。review的同事有责任检查其他同事是否遵循分支规范。
  • 在Git中,默认是不会提交空目录的,如果想提交某个空目录到版本库中,需要在该目录下新建一个 .gitignore 的空白文件,就可以提交了
  • 把外部文件纳入到自己的 Git 分支来的时候一定要记得是先比对,确认所有修改都是自己修改的,然后再纳入。不然,容易出现代码回溯
  • 多人协作时,不要各自在自己的 Git 分支开发,然后发文件合并。正确的方法应该是开一个远程分支,然后一起在远程分支里协作。不然,容易出现代码回溯(即别人的代码被覆盖的情况)
  • 每个人提交代码是一定要 git diff 看提交的东西是不是都是自己修改的。如果有不是自己修改的内容,很可能就是代码回溯
  • review 代码的时候如果看到有被删除掉的代码,一定要确实是否是写代码的同事自己删除的。如果不是,很可能就是代码回溯
posted @ 2018-06-28 09:48  樱花落&浅暮雪  阅读(112)  评论(0)    收藏  举报