1.git pull和git fetch的區(qū)別遥椿?
git pull = git fetch + git merge
@git pull 進(jìn)入本地庫(kù)更新至遠(yuǎn)程庫(kù)的最新?tīng)顟B(tài),由于本地庫(kù)進(jìn)行了更新 HEAD也會(huì)相應(yīng)的指向最新的commit id
@git fetch的時(shí)候只是將remote的origin進(jìn)行update 單身并沒(méi)在local的branch進(jìn)行merge
2.git merge和 gitrebase區(qū)別
rebase 會(huì)把你當(dāng)前分支的commit放到公共分支的最后面
如果你從 master 拉了個(gè)feature分支出來(lái),然后你提交了幾個(gè) commit,這個(gè)時(shí)候剛好有人把他開(kāi)發(fā)的東西合并到 master 了,這個(gè)時(shí)候 master 就比你拉分支的時(shí)候多了幾個(gè) commit,如果這個(gè)時(shí)候你 rebase master 的話,就會(huì)把你當(dāng)前的幾個(gè) commit,放到那個(gè)人 commit 的后面
merge 會(huì)把公共分支和你當(dāng)前的commit合并在一起 形成一個(gè)新的commit提交
不要再公共分支使用rebase
本地和遠(yuǎn)端對(duì)應(yīng)同一條分支 優(yōu)先使用rebase 而不是merge
3.如何在本地新建一個(gè)分支,并push到遠(yuǎn)程服務(wù)器上
1.本地創(chuàng)建分支
git checkout origin / master -b簡(jiǎn)單
2.我在這個(gè)分支上新建了一些文件,要把這個(gè)分支按下到服務(wù)器上
git push origin簡(jiǎn)單
3.用git branch -av查看服務(wù)器上的分支,會(huì)多出一個(gè)分支:
起源/簡(jiǎn)單
4.如果fork了一個(gè)別人的倉(cāng)庫(kù)抡谐,怎樣與源倉(cāng)庫(kù)保持同步?
1.fork源倉(cāng)庫(kù)
2.clone到本地
git clone git@github.com:username/repositoryname.git
3.添加源倉(cāng)庫(kù)路徑
git remote add upstream https://github.com/owername/pouch.git
4.源倉(cāng)庫(kù)路徑設(shè)置
git remote set-url --push upstream no-pushing
5.獲取源倉(cāng)庫(kù)的最新commit
git fetch upstream
6.將最新commit合并到本地
git merge upstream/master
7.將本地代碼pull到自己的github
git pull
5.總結(jié)一下Git常用的命令桐猬?
1.git init初始化一個(gè)Git倉(cāng)庫(kù)麦撵。
2.git add <file>添加文件
3.git status查看當(dāng)前Git倉(cāng)庫(kù)的文件狀態(tài)。
4.git diff查看一個(gè)文件前后有什么不同。
5.git commit -m '描述信息'提交文件及相關(guān)信息免胃。
6 git checkout -- <file>....:當(dāng)您改亂了工作區(qū)某個(gè)文件的內(nèi)容音五,想直接替換工作區(qū)的修改。
7.git log命令顯示從最近到最遠(yuǎn)的提交日志羔沙。
8.git reset --hard HEAD^回退到上一個(gè)版本躺涝。
9.git reset --hard 1094a如果是錯(cuò)誤回退,一旦當(dāng)前窗口還沒(méi)有關(guān)閉扼雏,可以找到最新的commit id坚嗜,根據(jù)commit id還原。
10.git reflog可以用來(lái)記錄你的每一次命令诗充,甚至是誤操作苍蔬,可以通過(guò)這個(gè)命令進(jìn)行還原。
11.git checkout是切換分支的意思蝴蜓。
12.git reset HEAD <file>可以把暫存區(qū)的修改撤銷掉(unstage)
13.git remote add origin 遠(yuǎn)程倉(cāng)庫(kù)地址將本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)
14.git push -u origin master會(huì)把本地的master分支內(nèi)容推送到遠(yuǎn)程新的master分支碟绑,然后將本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來(lái)。
15.git merge xxx合并指定分支到當(dāng)前分支
16.git branch查看當(dāng)前的所有分支励翼。
17.git branch xxx創(chuàng)建指定的分支蜈敢。