Git管理工具的使用(常用命令基本上都涵蓋了)

git: 分佈式的項目(代碼)管理軟件

一個遠程的倉庫,多個本地的倉庫,團隊開發。

Git 準備/使用

下載git 並安裝(自行百度)

創建本地倉

   桌面右鍵 gitBash 進入git ,然後 跳轉到你要存放倉庫的地方(如: cd : d/develop)

$ mkdir git-repository
$ cd git-repository
$ pwd
/d/develop/git-repository

初始化倉庫

$ git init
Initialized empty Git repository in D:/develop/git-repository/.git/

設置 用戶名    

$ git config --global user.name "用戶姓名"
$ git config --global user.email "用戶郵箱" 

簡單的使用

1、創建一個文件(Linux 系統下 Shift+連按二次Z Z)

$ vi newfile.txt

2、提交到暫存區 (沒有反應的。。.)使用git add -Agit add . 可以提交當前倉庫的所有改動。

$ git add newfile.txt

3、提交至本地倉庫

git commit命令,-m 後面輸入的是本次提交的說明 

$ git commit -m "提交文件"
[master (root-commit) d70b36f] 提交文件
 1 file changed, 1 insertion(+)
 create mode 100644 newfile.txt

工作區操作文件,然後add到 暫存區,再commit 提交

關聯遠程倉庫

HTTPS地址配置

1、設置遠程地址

$ git remote add origin https://gitee.com/love_yu_0698/git-repository.git

2、拉取遠程代碼(初次建倉庫的README)

git pull origin master

3、添加要上傳的文件 

$ git add readme.txt

$ git commit -m "提交"

4、push 推送代碼到 remote 遠程服務器上

git push -u origin master

SSH地址配置

1、在本地生成sshkey

ssh-keygen -t rsa -C "[email protected]

會提示信息 繼續按三次回車即可

2、查看你的 public key,

cat ~/.ssh/id_rsa.pub

3、複製key 並把他添加到碼雲(Gitee.com) SSH管理-添加公鑰

4、添加後,在終端(Terminal)中輸入 

ssh -T [email protected] 

出現 welcome to Gitee.com, 你的名字!  #則添加成功

5、添加遠程倉庫地址 ,拉取代碼/推送

$ git remote add origin [email protected]:love_yu_0698/git-repository.git
$ git pull origin master
$ git push -u origin master  // 下一次可以直接 git push 後面不需要跟分支名

 

Git 常用命令

查看文件狀態 (暫存區內的文件)

$ git status

查看文件改動的內容  $ git diff 文件名

$ git diff newfile.txt

查看最近到最遠的提交日誌( 一行顯示)

$ git log
$ git log --pretty=oneline

回退版本

$ git reflog  # 獲取每次提交後的版本號
$ git reset --hard HEAD^   # 回退上一版,^^回退上上版,依次類推
$ git reset --hard HEAD 版本號   # 常用

刪除文件

$ git rm newfile.txt
$ git commit -m "delete file"

撤銷修改/恢復刪除的文件

$ git checkout -- newfile.txt 
----- 丟掉工作區修改的文件 還沒有 add到暫存區

$ git reset HEAD newfile.txt 
----- 已經添加到了暫存區的文件 還沒有commit,可以退回該文件到工作區

拉取指定的遠程分支(本地分支不存在)

方法1: 需要3步,(而且還存在 需要merge 的情況)

1、創建本地分支
git checkout -b 本地分支名

2、推送本地分支到遠程倉庫 -- 建立關係
git push --set-upstream origin 遠程分支名

3、將遠程分支的內容都拉取到本地
git pull origin 遠程分支名

方法2:需要2步

git fetch       // 用於獲取最新的遠程分支

git checkout -b 本地分支名 origin/遠程分支名

方法3: 只需要一步 建立連接 ,並拉取內容

git branch --track remotes/origin/遠程分支名

 

分支管理(解決衝突)

查看當前分支

$ git branch
$ git branch -a  //查看所有分支

創建分支

$ git branch 分支名

切換分支

$ git checkout 分支名

創建+切換分支

$ git checkout -b 分支名

合併某分支到當前分支 如:A當前分支(有a,b文件) B被合併的分支(有a,c文件),merge 結果爲 A分支(有a,b,c文件)

$ git merge 被合併的分支

刪除分支

$ git branch -d 分支名
$ git branch -D 分支名 //強行刪除

bug分支(正式環境出bug了,但是你手頭上的項目做到了一半,又不能commit 可以通過 git stash 來解決)

暫時保存當前分支的內容

$ git stash

查看暫時保存的詳情

$ git stash list

-------checkout 回到master分支,拉取代碼,然後 創建新的分支,修改 ,測試,再合併修改後的分支,測試,發佈---------

恢復 暫時保存的內容

$ git stash apply  //恢復,但是恢復後,stash內容並不刪除
$ git stash drop   //刪除,stash內容
$ git stash pop    //恢復,並刪除

 

遠程庫操作

更新遠程倉庫最新到本地(不會自動merge)

$ git fetch

查看遠程倉庫地址信息

$ git remote     
$ git remote -v //詳細信息

推送至遠程分支

$ git push origin 分支名

$ git push --set-upstream origin 分支名  // 第一次推送 需要這麼寫,如果遠程沒有該分支名,會創建一個遠程分支

查看遠端庫的分支情況

$ git branch -r 
$ git branch -a  //前文有講到,這個命令是查看所有分支

git強制從遠程拉下來文件

$ git pull origin master --allow-unrelated-histories

git刪除遠程分支

$ git push origin --delete 遠程分支名

第一次把本地項目放到遠程倉庫

①初始化本地倉庫

git init

②將所有文件添加到本地倉庫(add 後面的空格+點 不能少)

git add .

③將項目提交到本地git倉庫 (“first commit” 是備註信息 自己隨便寫)

git commit -m "first commit"

④本地git倉庫與遠程倉庫關聯(git@xx.xx.xx.xx:repos/xxx/xxx/xxx.git 是遠程倉庫地址)

git remote add origin [email protected]:repos/xxx/xxx/xxx.git

⑤將項目推送到遠程倉庫(master是分支名 -f 強制推送)

git push -u origin master -f 或者 git push origin master

執行⑤出錯的話 執行下面命令後 在執行⑤

git pull --rebase origin master

⑥強拉失敗 執行如下命令

git pull origin master --allow-unrelated-histories

 

解決衝突 merge

團隊開發都會遇到的。

當Git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。

解決衝突就是把Git合併失敗的文件手動編輯爲我們希望的內容,再提交。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章