1. 程式人生 > 實用技巧 >Git操作

Git操作

1.本地新建一個資料夾,開啟git bash視窗,輸入命令git init 初始化,會在資料夾內新建一個.git檔案

2.輸入git clone 遠端倉庫url,就可以把遠端的程式碼克隆到本地當前這個資料夾內

3.Git bash 視窗輸入cd 專案名稱進入到專案資料夾內

4.向本地倉庫新增或者修改檔案

  1. 如果要新增一個檔案,可以使用touch 檔名 或者直接拷貝本地已有的檔案,當到專案資料夾內
  2. git add . 是將當前所有的檔案提交,如果只想提交單個檔案,可以使用git add 檔名
  3. 新增完成後,要使用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