Git常用命令

常用命令

git init命令把这个目录变成Git可以管理的仓库

git add告诉Git,把文件添加到仓库

git commit告诉Git,把文件提交到仓库

git status命令看看结果

git diff顾名思义就是查看difference

git log命令显示从最近到最远的提交日志

git reset命令回退到上一个版本

git checkout -- file可以丢弃工作区的修改(未添加到暂存区)

git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区(然后再执行上一个命令)

git rm用于删除一个文件

git remote add origin git@server-name:path/repo-name.git要关联一个远程库,使用命令

git push -u origin master第一次推送master分支的所有内容

分支管理

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d

命令可以看到分支合并图:git log --graph

--no-ff参数就可以用普通模式合并,合并后的历史有分支:git merge --no-ff -m "merge with no-ff" dev

强行删除 :git branch -D feature-vulcan

暂存

git stash

保存当前的工作进度。会分别对暂存区和工作区的状态进行保存

git stash save "message..."

这条命令实际上是第一条git stash命令的完整版

git stash list

显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候进行选择

git stash pop [--index] []

如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除。

如果提供参数(来自git stash list显示的列表),则从该中恢复。恢复完毕也将从进度列表中删除

选项--index 除了恢复工作区的文件外,还尝试恢复暂存区。

git stash apply [--index] []

除了不删除恢复的进度之外,其余和git stash pop命令一样

git stash clear

删除所有存储的进度

多人协作

  • 查看远程库信息,使用git remote -v

  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;

  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

标签

  • 命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

  • git tag -a -m "blablabla..."可以指定标签信息;

  • git tag -s -m "blablabla..."可以用PGP签名标签;

  • 命令git tag可以查看所有标签。

忽略特殊文件

  • 忽略某些文件时,需要编写.gitignore

  • .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理

参考文献:

廖雪峰的git教学

你可能感兴趣的:(Git常用命令)