git操做的經常使用命令,不是很全面,可是經常使用,我的開發筆記。 jquery
--------------------------------------------------------------------------------------------------- git
---------------------------------------分支操做----------------------------------------------- github
1.察看項目的分支狀況 shell
#進入項目目錄
cd REPOSITORIES/
git branch
# 注意前面的*號表示當前處於那個分支查看遠程分支: git branch -r
2.建立新的分支 app
git branch newbranch #建立並進入新的分支 git checkout -b newbranch
3.切換到分支 ui
分支切換的時候要注意一個問題:在切換過程當中,上一個分支的修改會帶到新的分支去。也就是說在分支切換的時候會帶上修改。若是要避免這樣狀況,固然就是在切換以前把修改提交(commit)了。 url
git checkout newbranch #取消對file的修改 git checkout file
4.察看文件修改狀況 spa
git status
顯示以下的代碼: code
# On branch new # Changes not staged for commit: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: build.xml # no changes added to commit (use "git add" and/or "git commit -a")
能夠看到,他說刪除了build.xml文件。如今是處於new分支 server
5.提交修改
#這樣是提交到當前分支去的 git commit -am "commit message"
6.刪除分支
git -d branch
-------------------------------------------------------------------------------------------------------
----------------------------------------------------合併操做--------------------------------------
git merge --type branch #其中的type能夠是下面4種
合併固然要伴隨這各類各樣的問題拉,其中最重要的一個問題就是衝突的問題拉。衝突事後,會提示
Automatic merge failed; fix conflicts and then commit the result.
衝突的文件會更改成下面的樣子,剩下的時間就得看本身去手動解決這裏的衝突了。
<<<<<<< HEAD #這裏是如今的代碼 ------------------------- ======= #這裏是拉過來衝突的代碼 ++++++++++++++++++++++++ >>>>>>> master
-------------------------------提交-------------------------------------------
-------------------------------------------------------------------------------
git在提交的時候,有時候可能想當前的全部修改,使用命令
#該命令放棄當前 git status 顯示的全部的修改 git reset #可讓版本回退到commit編號去 git reset --hard [commit編號]
若是隻放棄某一個文件的修改,可使用checkout命令
git checkout file #可是對於增長的文件,使用這個命令來放棄修改會有問題,它會提示說找不到文件,由於修改以前是沒有該文件的。
git在提交的時候,會忽略一些類型的文件,這寫配置在 項目的.gitignore 文件中,可使用vi編輯這寫內容
vi .gitignore
-----------------------------------------遠程操做--------------------------------------
-----------------------------------------------------------------------------------------
檢出倉庫:$ git clone git://github.com/jquery/jquery.git 查看遠程倉庫:$ git remote -v 添加遠程倉庫:$ git remote add [name] [url] 刪除遠程倉庫:$ git remote rm [name] 修改遠程倉庫:$ git remote set-url --push[name][newUrl] 拉取遠程倉庫:$ git pull [remoteName] [localBranchName] 推送遠程倉庫:$ git push [remoteName] [localBranchName]
-----------------------------------比較操做---------------------------------------
在使用Git的過程當中,咱們有時候須要去對比代碼的不一樣的地方。這時可使用 diff 這的命令
# 對比commit_id1和commit_id2的不一樣地方,並用不一樣顏色區別出來, 注意 commit_id1 必定要比 commit_id2要早提交 git diff --color commit_id1 commit_id2
000
--------------保存當前修改狀態-------------------------
有時候有這樣的狀況,當前編輯了一些文件,這時須要作reset、checkout等其餘操做,這時又不想把編輯丟棄,提交了也不完整。這時須要git一個很是人性化的一個命令:git stash ,來保存當前的狀態。
#保存當前編輯 git stash #恢復編輯 git stash apply
git pull 遠程分支
#checkout的同時在本地同步一個遠程origin上的serverbranch分支 git checkout --track origin/serverbranch
--