Git命令记录

本地仓库操作:
git init 创建仓库
git status 仓库当前的状态(是否有修改等)
git diff 查看修改内容
git add <filename> 把修改添加到暂存区
git commit -m <message> 把暂存区的修改提交到本地版本库
git log [--graph] 查看提交记录
git reflog 查看命令记录
git reset <--hard HEAD^|HEAR~<number>|<commit_id>> 版本回退
git revert <commit_id>
git checkout -- <filename> 撤销工作区某个文件的修改(回退到上一次add或commit)
git rm <filename> 删除tracked文件
git clean <-<x>fd> 清理工程(删除untracked文件)

贮藏:
git stash 将工作区贮藏(保存工作区修改)
git stash list 工作区贮藏记录列表
git stash apply <stash_id> 工作区恢复到某个贮藏(并不丢弃贮藏)
git stash drop <stash_id> 删除工作区某个贮藏
git stash pop 工作区恢复到最近的贮藏版本并删除该贮藏

远程仓库操作:
git remote add origin <remote_repo> 将本地仓库关联到远程仓库
git push [-u] origin master 将本地修改推到远程仓库master分支(第一次推远程仓库才需要-u)
git clone <remote_repo> 克隆远程仓库
git remote [-v] 查看远程仓库信息

分支相关:
git branch <branch_name> 创建分支
git checkout [-b] <branch_name> 检出(切换到)分支,当加上-b参数时相当于git branch + checkout
git branch 查看所有分支
git branch -d <branch_name> 删除分支
git merge <branch_name>
git merge --no-ff -m <message> <branch-name> 将指定分支合并到当前分支,--no-ff禁用Fast forward

标签:
git tag <tagname> 新建标签
git tag 查看所有标签(注意,标签不是按时间顺序列出,而是按字母排序的)
git show <tagname> 查看标签信息
git tag -d <tagname> 删除标签
git push origin <tagname> 推送某个标签到远程
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
删除远程标签:
git tag -d <tagname>
git push origin :refs/tags/<tagname>

 

多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。

搭建Git服务器非常简单,通常10分钟即可完成;
要方便管理公钥,用Gitosis;
要像SVN那样变态地控制权限,用Gitolite。

git revert 和 git reset的区别
1. git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
2. 在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
3. git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。

posted @ 2016-11-17 19:38  行走的段子  阅读(310)  评论(0编辑  收藏  举报