wKioL1csFvzgRl0BAAfkZ-RH-sw296.pnggit remote add origin <远程库> :关联一个远程库

git remote rm origin :删除关联远程库

git remote -v :显示详细的远程库信息

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

git add <file>:把文件添加到仓库,可反复多次使用,添加多个文件

git commit -m "..." :把文件提交到仓库

git rm <file> :从版本库中删除文件,并且git commit

git push -u origin <name> :把本地库的内容推送到远程,-u参数会把本地的master分支和远程的master分支关联起来。

git pull :把最新的提交从origin/dev抓下来

git clone <Git库地址> 克隆一个本地库

git status :随时掌握工作区的状态

git diff :如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

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

git log --graph --pretty=oneline --abbrev-commit :看到分支合并图加上--graph,嫌输出信息太多,加上--pretty=oneline参数。

git reflog :记录每一次命令,要重返未来,用git reflog查看命令历史

git reset --hard HEAD^ 回退到上一个版本,HEAD指向的版本就是当前版本

git reset --hard HEAD^^ :把当前版本回退到上上一个版本

git reset --hard 3628164 :指定回到commit id为3628164的版本

git checkout -- file :丢弃工作区的修改,回到最近一次git commitgit add时的状态;也可用于把误删的文件恢复到最新版本,但会丢失最近一次提交后修改的内容。

git reset HEAD file :把暂存区的修改撤销掉(unstage),重新放回工作区,用HEAD时,表示最新的版本。

git checkout -b <name> :创建并切换到此分支

git branch :命令查看当前分支

git merge <name> :合并指定分支到当前分支

git merge --no-ff -m "merge with no-ff" <name> :用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

git branch -d <name> :删除分支,git branch -D <name>强行删除一个没有被合并过的分支

git stash :把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git stash list :查看被储藏起来工作现场的状态

git stash pop :恢复工作现场的同时把stash内容也删了

git tag <tagname> :用于新建一个标签,默认为HEAD,也可以指定一个commit id。

git tag -a <tagname> -m "..." :指定标签信息,-a指定标签名,-m指定说明文字
git tag -s <tagname> -m "..." :-s用PGP签名一个标签。

git tag :可以查看所有标签,标签不是按时间顺序列出,而是按字母排序的。

git show <tagname> :查看标签信息

git tag -d <tagname> :删除标签,创建的标签不会自动推送到远程。打错的标签可以在本地安全删除。

git push origin <tagname> :推送某个标签到远程

git push origin :refs/tags/<tagname> :可以删除一个远程标签,需先删除本地标签。


git更新单个文件:

git fetch origin <name> 

git checkout origin/<name> <file_path>


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

如果git pull提示“no tracking information”则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name