Git操作
1.本地新建一個資料夾,開啟git bash視窗,輸入命令git init 初始化,會在資料夾內新建一個.git檔案
2.輸入git clone 遠端倉庫url,就可以把遠端的程式碼克隆到本地當前這個資料夾內
3.Git bash 視窗輸入cd 專案名稱進入到專案資料夾內
4.向本地倉庫新增或者修改檔案
- 如果要新增一個檔案,可以使用touch 檔名 或者直接拷貝本地已有的檔案,當到專案資料夾內
- git add . 是將當前所有的檔案提交,如果只想提交單個檔案,可以使用git add 檔名
- 新增完成後,要使用git commit -m "註釋" 才能將剛才新增的檔案提交到本地倉庫
5.將本地倉庫的內容更新到遠端倉庫,更新前最好先pull拉取下,解決衝突,解決衝突後再push
git remote add origin https://github.com/xxxxx.git 分支 ----建立遠端倉庫和本地倉庫的連線,不帶分支預設是推送到遠端master
git pull 遠端倉庫url 遠端倉庫分支 -----將遠端檔案拉取到本地倉庫
git push遠端倉庫url 遠端倉庫分支 -----將本地倉庫的檔案拉推到遠端倉庫對應的分支
git push -u origin master ----第一次push
的時候,加上-u
引數,Git就會把本地的master分支和遠端的master分支進行關聯起來,我們以後的push
操作就不再需要加上-u
引數了
6.刪除遠端倉庫檔案
1.克隆遠端倉庫到本地庫。
例如使用ssh方法:
git clone [email protected]:xxx/xxx.git
2.對需要刪除的檔案、資料夾進行如下操作:
git rm test.txt (刪除檔案)
git rm -r test (刪除資料夾)
git rm -r --cached 要刪除的檔案 # cached不會把本地檔案也刪除
3.提交修改
git commit -m "Delete some files."
4.將修改提交到遠端倉庫的xxx分支:
git push origin xxx
7.刪除遠端倉庫連線
# git remote remove origin
8.回退版本
1.檢視版本號:
可以使用命令“git log”檢視
2.使用“git reset --hard 目標版本號”命令將版本回退
3.使用“git push -f”提交更改
9.回退版本,如果我們想撤銷之前的某一版本,但是又想保留該目標版本後面的版本,記錄下這整個版本變動流程,就可以用git revert
1.檢視版本號:
可以通過命令列檢視(輸入git log)
2.使用“git revert -n 版本號”反做,並使用“git commit -m 版本名”提交
3.使用“git push”推上遠端庫
10.push
1.推送本地分支到遠端分支
git push <遠端主機名> <本地分支名>:<遠端分支名>
2.如果省略遠端分支名,則表示將本地分支推送至與之存在“追蹤關係”的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建:
git push origin master
上述命令表示:將本地master分支推送到origin主機的master分支。如果後者不存在,則會被新建
3.如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送一個空的本地分支到遠端分支
git push origin :master
等價於:
git push origin --delete master (刪除遠端分支)
4.如果當前分支與遠端分支之間存在追蹤關係,則本地分支和遠端分支都可以省略。
git push origin
5.如果當前分支只有一個追蹤分支,那麼主機名都可以省略:
git push
11.git pull
1.取回遠端主機某個分支的更新,再與本地指定分支合併
git pull <遠端主機名> <遠端分支名>:<本地分支名>
eg:取回origin主機的next分支與本地master分支合併:
git pull origin next:master
2.如果遠端分支是與當前分支合併,則冒號後面的部分可以省略:
git pull origin next
等價於:
git fetch origin next
git merge origin/next
注:
在某些場合,Git會自動在本地分支與遠端分支之間建立一種追蹤關係(tracking)。比如,在git clone的時候,所有本地分支預設與遠端主機的同名分支建立追蹤關係。也就是說,本地的master分支自動“追蹤”origin/master分支。
Git也允許手動建立追蹤關係:
eg:指定本地分支master追蹤遠端origin/next分支:
git branch --set-upstream-to origin/next master
注:檢視分支追蹤關係:
git branch -vv
3.如果當前分支與遠端分支存在追蹤關係,git pull就可以省略遠端分機名
git pull origin
上面命令表示,本地的當前分支自動與對應的origin主機“追蹤分支”(remote-tracking branch)進行合併。
4.如果當前分支只有一個追蹤分支,連遠端主機名都可以省略
git pull
注:
如果遠端主機刪除了某個分支,預設情況下,git pull不會在拉取遠端分支的時候刪除對應的本地分支。這是為了防止,由於其他人操作了遠端主機,導致git pull不知不覺刪除了本地分支。但可以通過加引數 -p 就會在本地刪除遠端已經刪除的分支:
git pull -p