git常用命令總結


版本控制系統:

  1、CVS和SVN是集中式的版本控制系統。

  2、Git是分布式版本控制系統;

集中式的版本控制系統:

  版本庫是放在中央服務器的,一旦出問題,就無法干活。干活的時候用自己電腦,所以需要從中央服務器取得最新版本,修改完后再把自己的活推送給中央服務器。最大毛病是必須聯網才能工作,網速慢時會被憋死。

分布式版本控制系統: 

  有一台“中央服務器的”的電腦,用於多人合作交換修改的。它安全性更高,因為每個電腦都有完整的版本庫,一旦出問題,可以從其他電腦復制。有強大的分支管理。

安裝git和基本用法 

  1、從git 官網下載程序,默認安裝即可。

  2、設置賬號和郵箱關聯,賬號和郵箱可以是碼雲、GitLab...的賬號都行:

$ git config --global user.name "Your Name"             
$ git config --global user.email "email@example.com"

  3、選擇合適地方,創建空目錄:

$ mkdir test        //創建空目錄,目錄名字為test
$ cd test        //進入test目錄

  4、初始化倉庫,把目錄變成git 可以管理的倉庫:

$ git init
$ ls //查看文件
$ ls -ah //如果.git目錄是影藏的話,可以通過這個命令查看.git目錄

  5、提交文件到git 上

$ git add .                  //告訴Git,把文件添加到倉庫,此時是將修改添加到暫存區,可add 多次
$ git commit -m '本次提交的備注'       //告訴Git把文件提交到倉庫,此時是吧暫存區的所有內容提交到當前分支,可一次提交很多文件

  6、查看當前倉庫的狀態

$ git status    //查看版本庫狀態,什么被修改過但還沒提交的

$ git diff //查看當前相對上一次提交修改的內容

  7、版本回退

$ git log                         //顯示從最近到最遠的提交日志
$ git log   --pretty== oneline     //顯示log,但是不顯示很多凌亂的信息
q                                //顯示log版本信息有很多,使用q鍵停止查看
git reset —hard head^         //回退到上一個版本
git reset —hard head^^        //回退到上上個版本
git reset —hard head~100      //回退到之前100個版本
git reset —hard +commit_id    //回到某個版本號的版本

git reset — hard 版本號     //版本回退多次后需要恢復最新版本

$ git reflog                     //查看曾經使用過的命令

  8、撤銷修改

$ git checkout -- test.html

  9、刪除文件

$ rm test.index     //可直接在文件管理中刪除文件,要不用rm 命令去刪除

$ git rm test.html    //從版本庫中刪除
$ git commit -m '刪除 test.html文件'
$ git branch -D <name> //丟棄一個沒有被合並過的分支,可以通過強行刪除。

遠程倉庫 

  1、創建SSH Key(需要生成 id_rsa私鑰 和 id_rsa.pub公鑰 兩個文件)

$ ssh-keygen -t rsa -C "youremail@example.com"

  2、登錄GitHub,設置"SSH Keys",復制 id_rsa.pub 內容去添加。可允許添加多個SSH。

  3、關聯遠程倉庫

$ git remote add origin git@github.com:賬戶名

  4、將本地的內容推送到遠程庫分支上

$ git push -u origin 分支名字       //第一次推送分支所有內容
$ git push origin 分支名字          //推送最新修改

  5、查看遠程倉庫信息

$ git remote 

$ git remote -v      //查看更加詳細的信息

克隆

$ git clone 需要克隆的倉庫地址

創建分支,並且切換過去

$ git checkout -b 新分支的名字       //創建分支並且切入進分支

或者等同於

$ git branch 分支名       //創建分支
$ git checkout 分支名     //切換到分支
$ git branch               //查看分支

合並分支

$ git checkout -b dev
$ git branch
$ git add .
$ git commit -m '提交test文件到dev分支'
$ git checkout master     //切換到主分支
$ git merge dev        //將dev分支上的內容合並到master分支上,合並 指定分支 到 當前分支
$ git merge --no-ff -m "merge with no-ff" dev //合並分支時加上--no-ff參數就可以用普通模式合並,合並后的歷史有分支,通過git log查看
$ git branch -d dev     //刪除dev分支

解決沖突:

  同一文件修改沖突,需要手動解決沖突后再提交。git status可查看沖突,根據標記可修改沖突部分,修改結束后再重新提交。

$ git pull         //拉取遠程內容
$ git log --graph        //命令可以看到分支合並圖。

 關聯本地倉庫和遠程倉庫

$ git branch --set-upstream-to <branch-name> origin/<branch-name>

創建標簽

$ git branch 
$ git checkout dev
$ git tag v1.0      //為當前需要打標簽的分支打新標簽

$ git tag        //查看所有標簽
$ git tag -a 指定標簽信息 -m "blablabla..."   //可指定標簽信息 

操作標簽 

$ git push origin <tagname>     //可以推送一個本地標簽;
$ git push origin --tags        //可以推送全部未推送過的本地標簽;
$ git tag -d <tagname>        //可以刪除一個本地標簽;
$ git push origin :refs/tags/<tagname>     //可以刪除一個遠程標簽。

改變Git顏=色

$ git config --global color.ui true

 


免責聲明!

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



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