天天看點

git 操作手冊1. 日常使用流程2. 建立公共裸倉,并上傳代碼3. 其他常用指令

1. 日常使用流程

在修改好代碼後,正确的git流程為:

假如file1, file2為需要送出的檔案,file3是不需要送出的檔案,但是也不向丢掉

git add file1,file2
git commit -m "commit comments"
git stash
git pull
git push
git stash pop
           

對應的解釋:

git add  将需要送出的檔案放到暫存區
git commit  送出暫存區的檔案到本地倉庫
git stash 存儲修改過的不需要送出的檔案,上面将file3存儲起來,以便後續pull時沒有沖突、
git pull 拉取伺服器最新版本,push之前必須要經曆這一步,才不會覆寫别人修改的檔案
git push  将本地倉庫同步到伺服器倉庫
git stash pop  恢複最後一次存儲的不需要送出的檔案,上面就會将file3恢複到工作區
           

2. 建立公共裸倉,并上傳代碼

建立一個公共裸倉,共大家共享代碼。倉庫名為prj.git. 路徑是/share/project/prj.git。

(1) 建立裸倉

cd /share/project  # 到project目錄下
mkdir prj.git      # 建立檔案夾
cd prj.git         # 進入prj.git
git init --bare    # 初始化該倉庫,--bare是說明該倉位公共倉庫,在該目錄下不能進行git的pull等操作
           

至此,空的裸倉就完成了,接下來上傳代碼。

(2)上傳代碼,到項目目錄:/home/123/myprj

cd /home/123/myprj # 來到項目目錄
git init # 将該目錄初始化為git倉庫
git add . # 添加所有檔案到暫存區
git commit -m "init version" # 送出所有更改
git remote add origin /share/project/prj.git # 将該項目于遠端倉庫綁定起來
git push --set-upstream origin master # 送出代碼
           

此時,就完成了代碼上傳,其他人就可以使用git clone /share/project/prj.git來拉取代碼了。

3. 其他常用指令

git log                                  # 檢視日志
git log -p                               # 檢視詳細曆史
git log --stat                           # 檢視簡要統計
git status                               # 檢視工作區狀态
git branch 名稱                          # 建立分支
git checkout 名稱                        # 切換分支
git checkout -b 名稱                     # 建立并切換到新分支
git branch -d 名稱                       # 删除該分支(不能删除目前所在的分支,不能删除沒有合并到master上的分支)
git branch -D 名稱                       # 删除該分支(可以删除沒有合并到master上的分支)
git commit --amend                       # 對最新的一條commit進行修正
git reset --hard HEAD^                   # 丢棄最新送出(未送出的内容會被擦掉)
git reset --soft HEAD^                   # 丢棄最新送出(未送出的内容不會被擦掉)
git revert HEAD^                         # 回到某個commit
git rebase 目标基礎點                     # 重新設定基礎點
git merge 名稱                           # 将分支合并到head指向的分支
git push origin localbranch              # 将代碼推送到遠端倉庫的指定分支
git push -d origin branchName            # 删除遠端分支
git stash                                # 暫存代碼
git stash pop                            # 恢複暫存代碼