Git 常用基本命令彙總

安裝git
1 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2 yum install -y git
3 git config --global user.name "Your Name"
4 git config --global user.email "[email protected]"
5 git config core.filemode false    #忽略文件權限
默認git版本爲1.7.1無法clone版本庫,需要升級git客戶端
yum install perl-ExtUtils-MakeMaker package gettext-devel
tar
-xzf git-2.4.1.tar.gz cd git-2.4.1 make configure ./configure make make install

 

身份認證
1,生成本地主機id_rsa.pub公鑰,將內容添加到gitlab的SSH keys
2,使用帳戶驗證 在gitlab創建帳戶,添加用戶到project member
	

直接從遠程庫克隆
git clone [email protected]:xikai/test.git
git clone http://gitlab.ve.cn/xikai/test.git

提交文件到git版本庫
git add file #把文件修改添加到暫存區
git rm #從版本庫刪除文件
git commit -m "xxxxx"    #把暫存區的所有內容提交到當前分支
git status #查看狀態
git log    #顯示版本日誌
git reflog    #列出所有操作記錄
git checkout -- readme.txt    #將工作區指定文件回到最近一次git commit或git add時的狀態
git reset HEAD readme.txt    #將暫存區指定文件重新撤回工作區 

儲藏
git stash                    #把當前工作現場"儲藏"起來,等以後恢復現場後繼續工作(你當前的工作還沒有完成提交,當前又必須先去修復bug時,需要將當前工作區“儲藏”起來,保持工作區幹)
git stash pop                #恢復之前"儲藏"的工作現場,同時把stash內容也刪除
git stash list                #查看stash內容

 

版本回退
git reset --hard HEAD^        #回退到上一個版本
git reset --hard HEAD~100    #回退到上100個版本
git reset --hard 3628164    #回到指定commit ID的版本(commit ID不用寫全)

 

分支管理
一個成功的git分支方案: 
http://blog.csdn.net/dbzhang800/article/details/6798724
git branch -a                    #列出所有本地分支及遠程分支
git checkout -b develop                 #創建並切換develop分支
git checkout develop                #切換分支
git branch -d myfeature                   #刪除develop本地分支(git branch -D myfeature 強行刪除沒有被合併的分支)

 

刪除遠程庫分支
git branch -r -d origin/develop            #刪除本地對應的remotes/origin/develop
git push origin  :develop            #將本地空的分支推送到遠程指定分支,冒號前面空格不能少
git checkout -b develop origin/develop       #創建遠程develop分支到本地
git branch --set-upstream branch-name origin/branch-name        #建立本地分支和遠程分支的關聯

 

合併分支
git merge develop
git merge --no-ff -m "commit message" develop    #合併develop分支到當前分支(develop分支文件的內容會覆蓋當前的內容)  
注:合併分支默認會使用Fast forward "快進模式",當被合併的分支被刪除時,會丟掉分支信息; --no-ff禁用快進模式,Git就會在merge時生成一個新的commit


推送拉取
git remote -v                #查看遠程git服務端地址
git push -u origin master    #推送本地當前指定分支到遠程服務端 -u第一次推送用於關聯本地master分支與遠程master分支
git push -u origin develop
git pull origin master       #從遠程git服務器拉取指定分支數據到本地當前分支 
git pull origin develop
git push            #推送所有分支
git pull            #拉取所有分支

 

標籤管理
git tag                            #列出所有tag
git tag -a v1.0 -m "v1.0"                   #爲當前分支打標籤
git tag v0.9 6224937                        #爲指定版本打標籤
git push origin --tags                        #推送tags
git pull origin --tags                        #更新當前分支和tags
git checkout v1.0                            #檢出指定tag
git show v0.1                                #查看tag信息
git tag -d v0.1                                #刪除本地標籤
git push origin :refs/tags/v0.1                #刪除遠程標籤(必須先刪除本地標籤再push origin) 
忽略特殊文件
有些時候,你必須把某些文件放到Git工作目錄中,但又不能提交它們,比如保存了數據庫密碼的配置文件等等,每次git status都會顯示“Untracked files ...”,有強迫症的童鞋心裏肯定不爽
解決方法:在Git工作區的根目錄下創建一個特殊的.gitignore文件,然後把要忽略的文件名填進去,提交.gitignore文件到版本庫,Git就會自動忽略.gitignore中的文件
參考文檔:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章