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 代码的时候如果看到有被删除掉的代码,一定要确实是否是写代码的同事自己删除的。如果不是,很可能就是代码回溯

浙公网安备 33010602011771号