git常用命令总结

一、基本命令
1.初始化仓库

git init

2.添加到暂存区

git add 文件名

3.提交到版本库

git commit -m '注释内容'

4.查看状态

git status

5.查看提交日志

git log (--pretty=oneline 该参数简化日志)

6.每次操作日志

git reflog

7.回滚版本

git reset --hard HEAD^ (HEAD~3 回滚到三次提交前版本) 也可以直接 git reset --hard 版本号前几位回滚指定版本

8.当前工作区和版本库区别

git diff HEAD -- 文件名

9.撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- 文件名
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
工作区不小心删除了一个文件,版本库里有。执行 git checkout -- 文件名 可以从版本库中恢复
删除一个文件并同步到版本库:git rm 文件名 然后执行 :git commit -m '注释'


二、远程仓库相关命令
1.添加远程仓库

git remote add origin https://github.com/Ivanlovening/tornado-study.git(写自己仓库地址)

2.推送到远程仓库

git push -u origin master (第一次 需要加-u 参数,后面就不用了)

3.删除远程仓库关联

git remote rm origin

4.远程关联多个仓库情况(远程库名字不能一样):

git remote add github https://github.com/Ivanlovening/github.git
git remote add gitee https://github.com/Ivanlovening/gitee.git
git push github master 
git push gitee master git remote
-v (查看远程库)

5.远程克隆

git clone https://github.com/Ivanlovening/tornado-study.git


三、分支管理

1.创建+切换分支

git checkout -b 分支名

2.切换到主分支

git checkout master

3.查看分支详情

git branch

4.合并分支

git merge 分支名

5.删除分支

git branch -d 分支名

6.查看分支合并图

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

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
7.合并保留分支信息

git merge --no-ff -m "merge with no-ff" 分支名

8.强制删除没有合并的分支

git branch -D 分支名

9.储藏相关命令

git stash (储藏当前分支工作状态)
git stash list (查看储藏列表) 
git stash apply (恢复)
git stash drop (删除储藏)
git stash pop (恢复并删除)

10.在本地创建和远程分支对应的分支

git checkout -b 分支名 origin/分支名

四、标签管理

git tag v1.0 (打标签)
git tag (查看标签)
git tag -d tagname (删除标签)
git push origin tagname (推送标签 --tags 参数一次提交所有标签)


五、配置和忽略管理

显示颜色:git config --global color.ui true
.gitignore 忽略项目文件
命令取别名:git config --global alias.last 'log -1'
可到用户根目录下查看 .gitconfig 里面配置信息


六、多人工作模式
多人协作的工作模式通常是这样:
首先,可以试图用git push origin <branch-name>推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to 分支名 origin/分支名

原文地址:https://www.cnblogs.com/myIvan/p/10030474.html