git 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 :如果gitstatus告诉你有文件被修改过,用gitdiff可以查看修改内容。
git log
:命令显示从最近到最远的提交日志
git log --graph --pretty=oneline --abbrev-commit
:看到分支合并图加上--graph,嫌输出信息太多,加上--pretty=oneline参数。
git reflog
:记录每一次命令,要重返未来,用gitreflog查看命令历史
git reset --hard HEAD^
:回退到上一个版本,HEAD指向的版本就是当前版本
git reset --hard HEAD^^
:把当前版本回退到上上一个版本
git reset --hard 3628164
:指定回到commitid为3628164的版本
git checkout -- file
:丢弃工作区的修改,回到最近一次git
commit或git 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,也可以指定一个commitid。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。