Git 常用命令

基本用法

源状态–modify–>工作区–add–>暂存区–commit–>(本地仓库)–push–>远程仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
git init  #创建本地仓库

git log #查看提交历史,已确定要回退到哪个版本
git reflog #查看命令历史,以便确定要回到未来的哪个版本

git add file_name #添加与文件file_name文件相关的修改到暂存区
git add --all #添加所有修改到暂存区
git add . #添加所有修改到暂存区

git status #查看当前状态
git commit -m "commit_message" #提交更改至仓库,并附带提交信息"commit_message"
git commit --amend #修改刚刚commit的commit信息

git rebase -i HEAD~6 #合并最近的6个版本的提交

git checkout --file_name #撤销掉关于file_name文件的工作区的修改,即让文件回到最近一次git commit或git add时的状态
git checkout . #撤销掉所有关于工作区的修改

git revert -n commit_id #撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交

git reset (--mixed) HEAD #回退到最新的提交,保留工作区的修改,不保留暂存区的修改记录
git reset (--mixed) HEAD file_name #将file_name状态回退到最新的提交,保留对其工作区的修改
git reset --soft HEAD^ #回退到上一次提交时的状态,保留工作区和暂存区的修改
git reset --hard #强制回退最新提交时的状态,不保留工作区和暂存区的修改
git reset --hard HEAD^ #强制回退到上次提交时的状态,不保留工作区和暂存区的修改,HEAD是指向最新的提交,上一次提交是HEAD^,上上次是HEAD^^,也可以写成HEAD~2,并以此类推
git reset --hard commit_id #强制回退到版本号为commit_id的提交版本

git fsck --lost-found #在本地项目文件中路径为.git/lost-found/other中找到已经add但没有commit的文件(一般是在错误使用git reset --hard 后补偿用 )


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
git remote add name URL #关联远程仓库,设置远程仓库名称为name,远程仓库链接为URL
git push origin first:master #推送本地first分支至origin主机远程的master分支,如果远程没有则创建
git push -f #强制push到远程仓库
git pull origin first:master #取回origin主机的first分支并与本地master合并

git fetch origin master #取回origin主机的master分支
git merge origin/master #与本地当前分支合并

git fetch orgin master:tmp #从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp #將當前分支和tmp進行對比
git merge tmp #合并tmp分支到当前分支

git rebase master #当执行rebase操作时,git会从两个分支的共同祖先开始提取待变基分支上的修改,然后将待变基分支指向基分支的最新提交,最后将刚才提取的修改应用到基分支的最新提交的后面。若当前处于feature分支,且是从某个基底a修改而来,master也是从a修改而来,执行之后,保存feature的提交,然后删除,找到master最新提交,并应用保存的提交;这样feature的基底就变成了master。

git branch -r/-a #查看远程分支/所有分支
git branch tmp #本地创建分支tmp
git checkout tmp #切换分支到tmp
git branch -d tmp #删除本地tmp分支
git push orgin --delete tmp #删除远程orgin上的tmp分支

git reset

  • -–hard 强制回退版本,不保留工作区和暂存区的修改。

  • –soft 回退到某一版本,保留工作区和暂存区的修改。

  • –-mixed(默认) 回退到某一版本,保留暂存区的修改,不保留工作区的修改。

git revert

git rebase

https://blog.csdn.net/weixin_42310154/article/details/119004977

https://baijiahao.baidu.com/s?id=1633418495146592435&wfr=spider&for=pc

git stash/unstash


Git 常用命令
http://kaimss.github.io/2019/05/08/Git 常用命令/
作者
kaimhong
发布于
2019年5月8日
许可协议