git常用命令

(轉(zhuǎn)載)學(xué)習(xí)

常用命令

#下載項目
$ git clone git://github.com/jquery/jquery.git

#添加項目到暫存區(qū),點號表示添加所有
$ git add <filename>/.

#提交暫存區(qū)到倉庫區(qū)
$ git commit -m [message]  #或者git commit -a

#推送項目到遠程地址
$ git push

# 強行推送當(dāng)前分支到遠程倉庫,即使有沖突
$ git push [remote] --force

基本命令

#創(chuàng)建并切換分支
$ git checkout -b branchName #每次開發(fā)新功能乘凸,都應(yīng)該新建一個單獨的分支

#添加當(dāng)前目錄的所有文件到暫存區(qū)
$ git add .

#用互動的模式來確認要加入的檔案
$ git add -i:

#HEAD指針
HEAD指針總是指向分支的最新提交鸥拧。每當(dāng)你做出了一個提交党远,HEAD更新為最新提交削解。
HEAD樹枝存儲在.git/refs/heads/ 目錄中富弦。
cat .git/HEAD
ref: refs/heads/master

#新建分支
$ git branch [branchName]

查看命令

$ git show            # 顯示某次提交的內(nèi)容
$ git log --since="6 hours"  # 顯示最近6小時提交
$ git log --before="2 days"  # 顯示2天前提交
$ git log <file>      # 查看該文件每次提交記錄

合并分支

git merge <branch>                  # 將branch分支合并到當(dāng)前分支
Git分支操作: 創(chuàng)建分支后, 分支操作不會影響master分支, 但是master分支改變會影其它分支;


--列出分支 :$ git branch ;

--切換分支 :git checkout master

--提交分支 : git push origin branchName ;

--刪除分支 : git branch -d branchName , 強制刪除分支 git branch -D branchName
--合并分支 : git merge branchName ;

遠程分支

$ git pull                # 抓取遠程倉庫所有分支更新并合并到本地
$ git push origin master # 將本地主分支推到遠程主分支 master 可以換成你想要的任何分支

# 將本地主分支推到遠程(如無遠程主分支則創(chuàng)建,用于初始化遠程倉庫)
$ git push -u origin master  

# 查看遠程倉庫:
$ git remote -v

# 下載遠程倉庫的所有變動
$ git fetch [remote]

Git主分支的名字氛驮,默認叫做Master腕柜。它是自動建立的,版本庫初始化以后矫废,默認就是在主分支在進行開發(fā)盏缤。

別名注冊

git ci 相當(dāng)于git commit,輸入git st相當(dāng)于git status蓖扑“ν可以自己注冊別名:

$sudo git config --system alias.st status
$sudo git config --system alias.ci commit
$sudo git config --system alias.co checkout
$sudo git config --system alias.br branch

在Git中,用兩種方法將兩個不同的branch合并律杠。一種是通過git merge潭流,一種是通過git rebase

git merge不同的是柜去, git rebase不單單只是將兩個不同的branch 合并起來灰嫉,而是將某一支 branch 基于另一支 branch的內(nèi)容合并起來

分支的開發(fā)過程中,要經(jīng)常與主干保持同步嗓奢。

$ git fetch origin
$ git rebase origin/master

合并commit

分支開發(fā)完成后讼撒,很可能有一堆commit message,但是合并到主干的時候股耽,往往希望只有一個(或最多兩三個)commit message根盒,這樣不僅清晰,

也容易管理物蝙。那么郑象,怎樣才能將多個commit合并呢?這就要用到 git rebase命令茬末。git rebase是對commit history的改寫厂榛。

$ git rebase -i origin/master

git rebase命令的i參數(shù)表示互動(interactive),這時git會打開一個互動界面丽惭,進行下一步操作击奶。

pick:正常選中
reword:選中,并且修改提交信息责掏;
edit:選中柜砾,rebase時會暫停,允許你修改這個commit(參考這里)
squash:選中换衬,會將當(dāng)前commit與上一個commit合并
fixup:與squash相同痰驱,但不會保存當(dāng)前commit的提交信息
exec:執(zhí)行其他shell命令

合并commit后证芭,就可以推送當(dāng)前分支到遠程倉庫了。

$ git push --force origin myfeature

git push命令要加上force參數(shù)担映,因為rebase以后废士,分支歷史改變了,跟遠程分支不一定兼容蝇完,有可能要強行推送

當(dāng)出現(xiàn)no changes added to commit時如何正確使用git提交命令?

對于這個問題官硝,最好的解決方法就是按如下步驟:

1.到根目錄下:git add .  ;("."是必須要的)
2.git commit -m "some word"
3.git push -u origin master

上面命令將本地的master分支推送到origin主機短蜕,同時指定origin為默認主機氢架,后面就可以不加任何參數(shù)使用git push了。

當(dāng)出現(xiàn):changes not staged for commit

sudo rm -Rf .git #強制遞歸刪除

git push origin master的意思就是將本地的master分支推送到origin主機的master分支朋魔。如果后者不存在岖研,則會被新建。

git push是上傳本地所有分支代碼到遠程對應(yīng)的分支上警检。

當(dāng)出現(xiàn)nothing to commit, working directory clean

這說明你現(xiàn)在的工作目錄相當(dāng)干凈孙援。換句話說,所有已跟蹤文件在上次提交后都未被更改過解滓。此外赃磨,上面的信息還表明,當(dāng)前目錄下沒有出現(xiàn)任何處于未跟蹤的新文件洼裤,否則 Git 會在這里列出來邻辉。最后,該命令還顯示了當(dāng)前所在的分支是 master腮鞍,這是默認的分支名稱值骇,實際是可以修改的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市移国,隨后出現(xiàn)的幾起案子吱瘩,更是在濱河造成了極大的恐慌,老刑警劉巖迹缀,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件使碾,死亡現(xiàn)場離奇詭異,居然都是意外死亡祝懂,警方通過查閱死者的電腦和手機票摇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砚蓬,“玉大人矢门,你說我怎么就攤上這事。” “怎么了祟剔?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵隔躲,是天一觀的道長。 經(jīng)常有香客問我物延,道長宣旱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任教届,我火速辦了婚禮响鹃,結(jié)果婚禮上驾霜,老公的妹妹穿的比我還像新娘案训。我一直安慰自己,他們只是感情好粪糙,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布强霎。 她就那樣靜靜地躺著,像睡著了一般蓉冈。 火紅的嫁衣襯著肌膚如雪城舞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天寞酿,我揣著相機與錄音家夺,去河邊找鬼。 笑死伐弹,一個胖子當(dāng)著我的面吹牛拉馋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惨好,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼煌茴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了日川?” 一聲冷哼從身側(cè)響起蔓腐,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎龄句,沒想到半個月后回论,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡分歇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年傀蓉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卿樱。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡僚害,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情萨蚕,我是刑警寧澤靶草,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站岳遥,受9級特大地震影響奕翔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浩蓉,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一派继、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捻艳,春花似錦驾窟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嘁字,卻和暖如春恩急,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纪蜒。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工衷恭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纯续。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓随珠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杆烁。 傳聞我的和親對象是個殘疾皇子牙丽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 配置 首先是配置帳號信息ssh -T git@github.com # 登陸 github 修改項目中的個人信息 ...
    guanguans閱讀 736評論 0 3
  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個倉庫 其實就是創(chuàng)建了一個.git隱...
    SnowDragonYY閱讀 1,504評論 0 0
  • 初始化配置 #配置使用git倉庫的人員姓名 git config --global user.name "Your...
    賤精先玍丶閱讀 327評論 0 0
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,478評論 1 26
  • 工作偶爾會在集團 公主墳 夜里下班喜歡公交車 不堵 會比地鐵快一點 關(guān)鍵是可以看到好多燈 99路 剛剛好經(jīng)過西單王...
    骨頭有糖閱讀 132評論 0 0