1. 先看一下git的命令:
查看本地分支 git branch ;
查看遠程分支 git branch -r ;
切換分支 git checkout -b agrochemical origin/agrochemical;
查看所屬分支 git branch -a;
回退命令: $ git reset --hard HEAD^;
回退到上個版本 $ git reset --hard HEAD~3;
回退到前3次提交之前,以此類推,;
回退到n次提交之前 $ git reset --hard commit_id;
退到/進到 指定commit的sha碼 $ git checkout commit ID;
查看提交記錄:$ git log;
強推到遠程:$ git push origin HEAD --force
2.git之刪除遠程倉庫文件,使用 git rm 命令即可,有兩種選擇:
一種是 git rm --cached "文件路徑",不刪除物理文件,僅將該文件從緩存中刪除;一種是 git rm --f "文件路徑",不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶)。
假如你有文件不小心commit到了服務器那么你想要刪除它,可以使用:git rm -- cached "路徑+文件名" ;
git commit -m "delete file" ;
git push;git rm -r "路徑+文件名" ;
git commit -m "delete file";
git push
3.接下來就是正事了,你在工作中一定用的到:
一、分支創建與切換1、創建新的分支並切換到該分支上進行提交首先我們先從最簡單的來,下方演示了git分支的創建和切換的最基本的操作,具體步驟如下:
1》git branch <分支名>: 首先使用 git branch bugfix01,在當前分支也就是master分支上創建了一個名為bugfix01的新分支。
2》git checkout <分支名> : 然后使用 git checkout bugfix01 命令來切換到我們新創建的bugfix01的新分支上。
3》git commit : 最后使用 git commit 命令在新的分支上進行代碼提交。
4、創建並切換分支
1》git checkout -b <分支名>: 首先使用 git checkout -b bugfix02 命令在當前所在分支bugfix01上創建一個新的分支並且切換到新創建的bugfix02上。
2》git commit : 然后就可以使用 git commit 在新的分支 bugfix02 上進行提交了。
二、分支的合並與刪除以及沖突解決
1、分支的合並-merge首先使用 git checkout master命令切換到master分支上。
然后使用 git merge bugfix01 命令將 bugfix01 分支的修改合入到master分支上,在合入成功后會將合入后的新文件進行提交,此刻會有一個新的commit號,也就對應着下方的C9。
然后使用 git merge bugfix02,在將 bugfix02上的修改合入到master分支上,merge 對應的commit號為C10。最后還是可以在master分支上進行正常提交的。
2、分支的刪除上面可以看到,雖然 bugfix01 和 bugfix02 的分支已經被合入到master分支上了,但是這兩個分支還是存在的。
如果我們不需要這兩個分支指針了,可以將兩個分支指針進行刪除:首先使用 git branch -d bugfix01對分支 bugfix01 進行刪除。
然后使用 git branch -d bugfix02 對分支 bugfix02 進行刪除。
操作上來看對分支的刪除只是刪除的指向該commit號的指針,並不會刪除其相關的提交號, 在日志中仍然可以找到之前的commit記錄,也仍然可以在該commit上創建新的分支。
如果你想刪除遠端的分支的話,那么得使用 $ git push origin --delete <分支名> 了。
# 克隆
git clone 倉庫地址
git clone -b 分支名 倉庫地址
# 查看分支 這里是看的本地的分支 $ git branch * master # 接着是查看遠程分支 $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/hz remotes/origin/master remotes/origin/new-sc remotes/origin/static remotes/origin/static_jcy remotes/origin/static_xy remotes/origin/xtf remotes/origin/yx_dev 【 方法一 # git branch <分支名>: 首先使用 git branch jxb_dev,在當前分支也就是master分支上創建了一個名為jxb_dev的新分支。 $ git branch jxb_dev # 查看分支 這里是看的本地的分支 $ git branch jxb_dev * master # git checkout <分支名> : 然后使用 git checkout jxb_dev 命令來切換到我們新創建的jxb_dev的新分支上。 $ git checkout jxb_dev # git commit : 最后使用 git commit 命令在新的分支上進行代碼提交。 $ git commit
# 如果要將合並的master主分支代碼推送到遠程
$ git push
】 【方法二 # git checkout -b <分支名>: 首先使用 git checkout -b jxb_dev02 命令在當前所在分支jxb_dev上創建一個新的分支並且切換到新創建的jxb_dev02上。 $ git checkout -b jxb_dev02 # git commit : 然后就可以使用 git commit 在新的分支 jxb_dev02 上進行提交了。 $ git commit 】 【分支的合並與刪除以及沖突解決】 # 分支的合並-merge首先使用 git checkout master命令切換到master分支上 $ git checkout master # 然后使用 git merge jxb_dev 命令將 jxb_dev 分支的修改合入到master分支上,在合入成功后會將合入后的新文件進行提交,此刻會有一個新的commit號,也就對應着下方的C9。 $ git merge jxb_dev # 然后使用 git merge jxb_dev02,在將 jxb_dev02上的修改合入到master分支上,merge 對應的commit號為C10。 $ git merge jxb_dev02 # 最后還是可以在master分支上進行正常提交的。 $ git commit # 【刪除本地分支】git branch -d jxb_dev對分支 jxb_dev 進行刪除 $ git branch -d jxb_dev $ git branch -d jxb_dev02 # 【提交和刪除遠程分支】 $ git push origin test:master // 提交本地test分支作為遠程的master分支 //好像只寫這一句,遠程的github就會自動創建一個test分支 $ git push origin test:test // 提交本地test分支作為遠程的test分支 # 如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。 $ git push origin :test // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心