Git的使用(linux基本命令)


一、Git基礎知識

參考:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

1、文件的三種狀態

  Git內部文件只有三種狀態:已提交(committed),已修改(modified)和已暫存(staged)。已提交代表文件已被保存在本庫中了;已修改代表修改了某個文件,但還沒有被提交保存;已暫存代表把已修改的文件放在下次提交時要保存的清單中。因此文件本地流轉的工作區域有:工作目錄,暫存區域和git本地倉庫。

二、Git基礎操作 

1、Git初始化

   下載安裝Git后,第一件事就是使用 git config 初始化Git,配置名字和郵箱:

$ git config --global user.name "q w"
$ git config --global user.email "123@email.com"

2、創建本地倉庫

a.在工作目錄中初始化新倉庫

$ git init  
$ git add *
$ git commit -m "first commit" 

b.從現有倉庫克隆

$ git clone gitURL localdir  //講giturl倉庫克隆到本地localdir目錄下

3、Git本地文件操作

a.查看文件狀態

$ git status  //查看文件有沒有被跟蹤,被跟蹤的文件有沒有被修改,被暫存的文件有沒有被提交
$ git diff  //比較工作目錄暫存區快照之間的差異

b.提交更新

$ git commit -m "commit note"  //提交暫存區的修改文件到本地git版本庫
$ git commit -am "commit note"  //跳過使用暫存區,Git把跟蹤的修改過的文件暫存起來一並提交,跳過git add步驟

c.移除文件(不重要,可替代)

$ git rm hello.c  //若直接本地操作不通過git刪除,則在commit時會報錯:尚未暫存以備提交的變更。需要用git rm來記錄移除文件的操作
$ git rm --cached hello.c  //移除文件跟蹤,但不實際在本地刪除文件
$ git rm log/\*.log  //刪除log目錄下,所有log文件

d.移動文件(不重要,可替代)

$ git mv file1 file2    //這條命令等於1. mv file1 file2 2.git rm file1 3.git add file2

e.撤銷操作

$ git reset HEAD file  //取消已經暫存的文件file
$ git checkout -- file  //取消對file文件的修改(危險)

f.遠程倉庫的使用

  一個項目可能會包含多個版本倉庫,比如國內+國外、測試環境+生產環境。

$ git remote -v  //列出一個項目中包含的所有遠程倉庫
$ git remote add [shortname] [url]  //關聯遠程倉庫,添加新的遠程倉庫shortname到項目中  
$ git fetch [remote-name]  //拉去遠程倉庫中,本地倉庫還沒有數據
$ git push origin master  //推送數據到遠程倉庫
$ git remote show origin  //查看遠程倉庫信息
$ git remote rename pb paul  //遠程倉庫重命名
$ git remote rm paul  //遠程倉庫刪除

g.打標簽

$ git tag    //列出已有標簽
$ git tag -a v1.4 -m 'my version 1.4'    //新建標簽
$ git push origin v1.5    //分享標簽,push命令默認不會把標簽傳送到遠端服務器,只有通過顯示的命令才行
$ git push origin --tags    //一次推送所有標簽

4、Git分支

a.新建合並分支

參考

$ git branch test    //新建分支test
$ git checkout test  //切換分支,其實是HEAD指向test分支(注:HEAD可以理解為指向當前所在分支的指針)
$ git checkout -b test  //相當於同時執行了上面兩條分支
$ git merge test  //合並test分支,表示把這個分支合並到當前分支
$ git branch -d test  //刪除test分支,合並之后就可以刪掉了

b.遇到沖突時的分支合並

$ git merge test    //開始合並test分支到當前分支        
$ git status  //可以查看那些文件發生沖突
直接打開修改沖突文件
$ git add  //若所有沖突都解決了,則運行此命令,將文件標記為已解決狀態

 

 

 

並和遠程倉庫關聯

  初始化本地倉庫:

git init

 git remote add origin git@github.com:michaelliao/learngit.git


免責聲明!

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



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