git使用備注


  git clone 代碼庫地址

  git branch -r  查看遠程分支

  git branch 查看本地分支

  git branch -a 查看遠程和本地分支。帶*的表示正在所處分支。

  git branch branch_name  建立一個分支(是在當前分支HEAD上建立)

 

  git checkout branch_name 切換到另一個分支

  git checkout -b branch_name origin/branch_name    建立和遠程分支追蹤關系的本地分支

  git checkout -- filename  撤銷工作目錄的改動(已經在版本管理,但還沒提交到暫存區的文件)

  怎樣獲取遠程或本地分支的某個文件到當前分支呢?
  git merge不可以,它只能merge分支
  此時可以使用git checkout 命令。
  git checkout 遠程/本地分支名稱 指定文件

  這樣就可以獲取到某分支的指定文件到當前分支了,並且不會發生切換分支。

 

  git reset HEAD filename 撤銷暫存區的改動

  git reset 版本號   回退到某個版本,留有文件修改(例子:文件已經commit到本地版本庫,想回退到上一個版本 git reset HEAD^  版本號可在git log中查看)   --hard 硬回退

  一個例子:

    commit了兩個提交,並push到了遠程庫。發現最后一次的commit不對,想回到上一個commit。這時候執行 git reset HEAD^,回到了上一次的版本。這就落后了遠端分支一個提交, git log 看是缺少了后悔的那個提交點,這樣直接push到遠程是不可以的。
    這時候可以執行 git reset origin/xx,同步本地分支和遠程分支(但不會丟失本地更改),此時git log可以看到commit點都回來了。然后再git add /commit/push

 

  git revert HEAD 撤銷當前版本的修改,表示回到上一個版本。revert是作為新的commit

 

  git diff 這個命令可以diff各種不同

  git diff 默認是比較當前工作目錄和暫存區(git必須要知道暫存區的概念)的不同

  git diff --cached 比較暫存區和版本庫的不同

  git diff HEAD 比較工作目錄和版本庫的差異

  git diff --stat  只看統計哪些文件差異,不看具體內容差異

  git diff HEAD origin/branch_name  filename  比較當前分支和遠程分支上這個file的不同

 

  git add 

  git commit -m 'xx'

 

 

  git log  查看commit信息

  git log --pretty=oneline 很多個commit信息,直接查看commit id,比較方便

 

  如果查看某一個文件的修改歷史,可以這樣:

   git log filename  (git log --pretty=oneline filename) ,通過列出的commitid,再執行git show commitid,查看具體修改歷史

 

  git show commitid 查看某次提交的信息

  git branch --set-upstream master origin/master   設立追蹤關系 本地和遠程分支

  git pull 遠程名 遠程分支名稱:本地分支名稱

  省略本地分支名,表示當前所在分支;

  如果建立了追蹤關系,可以省略分支名稱

 

  git push 遠程名 本地分支名稱:遠程分支名稱

  如果省略遠程分支名稱,就是把本地分支推送到遠程,如果沒有,就在遠程新建;如果只省略本地分支,表示刪除遠程分支。

  如果有追蹤關系,可以省略倆名稱

 

  git merge branchname  在當前分支上合並branchname

 

  git tag tagname 在當前分支的commit版本上打一個tag。tag和某個commit id對應的

  git tag 查看各個tag

  git show tagname 查看該tagname信息

 

  git stash [save message] 保存當前進度,工作區恢復到當前HEAD版本內容。很方便於當前改的東西存檔,去fix其他東西。

  git stash list 查看stash的列表

  git stash pop 彈出最新的stash。比如修復完,回到之前改的。

 

  在開發過程中,有可能產生附帶的緩存文件,在部署到服務器時是沒用的。此時可以在版本庫中添加一個.gitignore文件。

  比如以.dat為后綴的文件不想要提示是否添加了。在.gitignore文件中行內容寫上.dat即可。

  如果不希望自己的.gitignore文件上傳,可以在該文件再追加一行.gitignore。

 

  git的命令可以使用別名簡化,比如每次git commit,checkout等,單詞較長。可以給他們起個別名。

  在.git/config文件中添加。比如幾個命令:

[alias]
    co = checkout
    ci = commit
    br = branch
    st = status

在.git/config中配置,只是在當前git代碼庫生效,如果該用戶下都生效,需要在~/.gitconfig 中配置,或者命令如git config --global即可

比如:

git diff如何使用vimdiff形式查看diff文件?

git config --global diff.tool vimdiff  
git config --global difftool.prompt false  
git config --global alias.d difftool  

利用git d 執行即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM