1、创建git目录

mkdir learngit

cd learngit


2、初始化git目录

git init

ls -ah


3文件添加并提交到到git仓库

git add file1

git commit -m "notes"


4查看修改的状态,并比较修改了哪些内容

git status

git diff


5显示从由近到远的提交日志

git log

git log --pretty=oneline

 

6、各版本的表示

HEAD^         上个版本

HEAD^^      上上个版本

HEAD~100    往上100个版本

 

7、后退

git reset  --hard HEAD^ 回退到上一个版本

git log    查看现在版本库的状态

 

8、后悔了(撤销后退,前进)

git reflog    记录每一次操作命令

git reset --hard commit_ID

 

9、版本区别比较

git diff HEAD -- readme.txt   比较当前版本readme.txt文件和上一版本的区别

 

10、丢弃修改内容

git checkout -- file

 

11、删除文件

在目录中删除文件后  rm -f file

到版本库中删除  

git rm file

git commit -m "comment"

 

从版本库中恢复

git checkout -- file

 

12github创建账号、添加密钥

 

13建立本地库与远程库的联系,并推送本地库文件到远程库

git remote add origin git@server-name:path/repo-name.git

git push -u origin master

 

14、从远程库克隆一个本地库

git clone git@github.com:f066/gitskills.git

 

15、创建并切换分支dev

git checkout -b dev    其中-b参数表示创建并切换

相当于

git branch dev

git checkout dev

 

16、查看当前分支

git branch

 

17、切换分支到master

git checkout master

 

18、合并dev分支到当前分支

git merge dev

如合并dev分支到master分支

git checkout master

git merge dev

 

19、删除dev分支

git branch -d dev

 

 

20查看分支合并图

git log --graph

 

21、普通模式的合并分支dev到当前分支

git merge --no-ff -m "comment" dev

 

22、暂存当前分支dev,去另一分支master修复bug,修复后再恢复到先前的分支dev继续工作

git status    查看git 状态

git stash    将当前分支dev压栈

git checkout master   切换到master分支

git checkout -b issue-101   创建并切换到bug分支issue-101

git add bug.txt

git commit -m "bug fix 101"

git checkout master    切换到master分支

git merge --no-ff -m "merged bug fix 101" issue-101   将bug分支issue-101合并到当前分支

git branch -d issue-101

git checkout dev    切换到dev分支

git status

git stash list    查看栈中的分支列表

(git stash apply stash@{0} 

git stash drop)  或 git stash pop  将栈中存放的分支弹出,可以使用两条命令,也可以使用一条命令

 

23、查看远程库信息

git remote

git remote -v

 

24推送dev分支到远程库

git push origin dev

 

25打个新标签

git branch

git checkout master

git tag v1.0

 

26、查看所有标签

git tag

 

27补标签

查找历史提交的commit id

git log --pretty=oneline --abbrev-commit

git tag v0.9 COMMIT_ID

 

28查看标签信息

git show v0.9

 

29创建带有说明的标签

git tag -a v0.1 -m "comment " commit_id

 

30删除标签

git tag -d v0.1

 

31、推送某个标签到远程仓库

git push origin v1.0

 

32推送所有未推送到远程的 标签

git push origin --tags

 

33删除远程仓库中的标签

git tag -d v0.9     在本地删除

git push origin :refs/tags/v0.9    从远程删除