git命令

用過至少三種git軟件。沒有一款好用的,曾經(jīng)被迫使用sourceTree。感覺還不如Xcode集成的,個人還是推薦使用命令行操作。至于分支圖建議網(wǎng)頁瀏覽。

git命令:

git clone 地址? 下載項目(地址在你當前位置,通過cd切換你想去的目錄)

rm -fr .git? 刪除Xcode git依賴


#代碼提交

git pull? ? // 從remote拉取最新的代碼

git add 文件名? ? //提交該文件代碼到暫緩區(qū)

git add .? ? // 提交所有代碼到暫緩區(qū)

git commit -m “”? ? // 生成一條提交記錄

git commit -a -m “”? ? ?// 組合提交

git push? ? ?// 推送代碼到遠端

git push origin devel? ? ?// 推送本地代碼到遠端某個分支

#代碼操作

git checkout 文件名? ? ? // 撤銷該文件的修改

git checkout .? ? ? ? ?// 撤銷所有文件修改

git reset 文件名? ? // 把該文件從暫緩區(qū)還原回來,通常用于不想提交某個文件

gi reset HEAD? ? // 回退所有內(nèi)容到上一個版本

git reset HEAD a.py? ? //?回退a.py這個文件的版本到上一個版本

git reset --soft HEAD~3? ? //?向前回退到第3個版本

git reset 057d? ? //?回退到某個版本提交

git reset --soft?057d? ? // 回退到某次提交,并保留本地代碼。通常用于合并commit

git reset --hard 057d? //回退到某次提交,不保留本地代碼。強制回退,本地代碼會被銷毀

git revert HEAD? ? // 回退到上一次提交的狀態(tài),按照某一次的commit完全反向的進行一次commit

git revert?057d? ? // 撤銷057d這次的提交記錄

git stash [save message]? ? //?保存代碼到緩存區(qū),對當前的暫存區(qū)和工作區(qū)狀態(tài)進行保存。

git stash list? ? // 列出所有保存的進度列表

git stash pop?[--index]?// 從緩存區(qū)把最近一次保存的代碼提取到本地

git log --grep? ? // 在提交日志中查找關(guān)鍵字,查找某次提交基線

#分支相關(guān)

git branch test? 創(chuàng)建本地分支

git checkout -b develop 創(chuàng)建本地分支develop并切換到該分支

git checkout -b develop 057d 創(chuàng)建本地分支基于某次提交

git push -d origin develop? 刪除遠程分支develop

git branch -D develop 刪除本地分支develop

git branch —all? 查看全部分支(遠程)

git pull -p? 拉取分支

git merge develop? 合并develop分支到當前分支

git rebase 也是合并分支但是合并后會自動把分支的提交按照時間線對齊, 顯得提交歷史很干凈。但是一旦rebase出現(xiàn)沖突,你需要按照提交的次數(shù)不停的去解決沖突。git merge則只需要解決一次沖突。

git rebase?--continue

git rebase?--abort

git rebase的過程中,可能會出現(xiàn)沖突(conflict)。此時git會停止rebase并會讓你去解決沖突,解決完沖突后,需要使用git add 命令去更新暫緩區(qū),然后繼續(xù)git rebase?--continue,繼續(xù)進行分支合并。

你也可以用git rebase --abort來終止rebase,并且分支會回到rebase開始前的狀態(tài)。



#git命令縮寫

git config --global alias.co checkout

git config --global alias.br branch

git config --global alias.ci commit

git config --global alias.st status

git config --global alias.cp cherry-pick


#常見問題

1. pull之前,本地代碼可能會有沖突。此時需要先把改變的工作放到本地緩存區(qū)。通過git stash 的形式保存代碼到緩存區(qū),pull后再git stash pop 解決沖突后提交代碼。

2.commit代碼的時候出現(xiàn)沖突,可能需要merge代碼,此時會出現(xiàn)兩條提交記錄,如果不想要,可以通過git reset --soft 的形式回退到remote ci,然后重新ci合并提交。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,870評論 1 26
  • Git是目前最流行的版本管理系統(tǒng),也是最先進的分布式版本控制系統(tǒng)(distributed version cont...
    pro648閱讀 5,977評論 1 17
  • 本文系雜志約稿,不得轉(zhuǎn)載,違者必究。 在從北京前往上海的接近兩個小時的飛機上,有一組廣告一直被循環(huán)不停地播放著,那...
    LostAbaddon閱讀 649評論 5 12
  • 文/卡蘭諾 簡書是我去年十月份注冊的,我在此一共發(fā)表過五十五篇,我去年進來后在簡書發(fā)表三十多篇文章,沒掀起浪。關(guān)注...
    卡蘭諾閱讀 1,167評論 6 9
  • 小時候阿爸時常跟我們說,孩子,你們一定要好好讀書。 這時候,我總要頂嘴:“總要我們讀,你咋不好好讀的?聽說,你小時...
    稻子未熟閱讀 679評論 0 0

友情鏈接更多精彩內(nèi)容