初始化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 commit
或git 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>