Git 命令

初始化Git仓库:git init。

添加文件到Git仓库,分两步:

  1.使用命令git add <file>,可反复多次使用,添加多个文件;

  2.使用命令git commit -m "本次提交的备注"。

查看工作区的状态:git status

查看修改内容:git diff [file]。

HEAD指向的版本就是当前版本

去到某个版本:git reset --hard commit_id

查看提交历史:

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

  git log --pretty=oneline,可简化显示信息

查看命令历史,以便确定要回到未来的哪个版本:git reflog

直接丢弃工作区的修改(让这个文件回到最近一次git commitgit add时的状态,用版本库里的版本替换工作区的版本):git checkout -- file

不但改乱了工作区某个文件的内容,并已增加到暂存区,丢弃修改:

  git reset HEAD file,回到工作区,再按工作区命令撤销工作区的改动。

文件从版本库中删除:git rm [file]

关联一个远程库:git remote add origin git@server-name:path/repo-name.git

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

此后,每次本地提交后,推送最新修改:git push origin master

克隆一个仓库: git clone git@server-name:path/repo-name.git

查看分支:git branch

创建分支:git branch <name> 

切换分支:git checkout <name>

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

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

删除分支:git branch -d <name>

查看分支合并情况:git log --graph 或者 git log --graph --pretty=oneline --abbrev-commit

合并分支时,普通模式合并:git merge --no-ff -m "备注信息" dev,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

把当前工作现场储藏起来:git stash

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

查看工作现场:git stash list

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

要查看远程库的信息:git remote (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 <name>,默认为HEAD

commit id新建一个标签: git tag <name> commit id

可以指定标签信息:git tag -a <tagname> -m "lallala..."

可以用PGP签名标签:git tag -s <tagname> -m "lallala..."

查看所有标签:git tag

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

推送一个本地标签: git push origin <tagname>

推送全部未推送过的本地标签: git push origin --tags

删除一个本地标签: git tag -d <tagname>

删除一个远程标签: git push origin :refs/tags/<tagname>

原文地址:https://www.cnblogs.com/fengbing9891/p/4555731.html