git 取消merge git簡明指南

2021-10-11 08:46:22 字數 2942 閱讀 7986

1.起步

1.1 設定username&email

$ git config --global user.name "john doe"

$ git config --global user.email [email protected]

1.2 檢視配置

git config --list

1.3 初始化倉庫、跟蹤檔案並提交

$ git init

$ git add *.c

$ git add license

$ git commit -m 'initial project version'

2.記錄檔案變化

2.1 檢視檔案狀態

$ git status -s

m readme

m lib/******git.rb

mm rakefile

a lib/git.rb

license.txt

m代表modify,有兩個可以出現的位置,

出現在右邊的 m 表示該檔案被修改了但是還沒放入暫存區,

出現在左邊的 m 表示該檔案被修改了並放入了暫存區,

兩個m表示該檔案被修改並放入暫存區後又被修改了。

2.2 新增檔案至暫存區

git add file

git add是個多功能命令:可以用它跟蹤新檔案,

或者把已修改檔案放到暫存區,還能把合併時衝突的檔案標記為已解決狀態。

注意!如果你git add之後修改檔案,這個檔案會同時出現在暫存區和非暫存區,這時git commint只提交你最後一次執行 git add 命令時的那個版本,而不是你的最新版本。

2.3 檔案對比

git diff --cached

表示暫存後(git add後)的檔案與原始版本的對比

git diff

表示未暫存(git add前)的檔案與原始版本的對比

也就是說,git add之前用git diff,之後用git diff –cached。

注意!如果暫存(git add)後又修改了檔案,

則git diff比較未暫存的檔案與暫存(git add)時的檔案。

2.4 跳過使用暫存區域(即跳過git add)

git commit -a -m 'added new benchmarks'

注意:只會提交已經跟蹤過的檔案,不會提交新新增的檔案

2.5 移除檔案(即脫離追蹤):

$ git rm projects.md

2.6 移動或重新命名

$ git mv readme.md readme

2.7 提交歷史

$ git log

2.8 取消暫存

$ git reset head file

2.9 還原檔案

$ git checkout -- file

2.10 檔案狀態變化週期圖

3.遠端倉庫的使用

3.1 檢視遠端倉庫

git remote -v

origin (fetch)

origin (push)

orgin是遠端倉庫的別名,預設origin

3.2 詳細檢視遠端倉庫

$ git remote show origin

它會列出遠端倉庫的 url 與跟蹤分支的資訊,

告訴你git pull時哪兩個分支會合併,git push時會推送到哪個分支

3.3 新增遠端倉庫

git remote add

3.4 移除遠端倉庫

$ git remote rm origin

3.5 推送至上游

$ git push origin :

3.6 檢出遠端分支(即建立本地分支)

$ git checkout -b serverfix origin/serverfix

$ git checkout --track origin/serverfix

# --track會預設建立同名分支,兩個命令作用相同,都會檢出分支並指定追蹤分支

3.7 檢視追蹤分支(即本地分支對應的遠端分支)

$ git fetch --all

$ git branch -vv

# -vv並沒有連線伺服器,所以需要先fetch,

# -vv還能夠檢視本地分支是否落後遠端分支

追蹤分支:如果你在git pull或git push時沒有顯式指定遠端分支,則預設追蹤分支為對應的遠端分支

3.8 修改當前分支的追蹤分支

git branch --set-upstream-to origin/serverfix

# --set-upstream-to也可以用-u代替

4.更新**

git pull與git fetch的區別

git pull origin master

# 相當於從遠端獲取最新版本並merge到本地

$ git fetch origin

# 從遠端獲取最新版本,但不會自動建立本地分支,

# 只有乙個不可以修改的 origin/master 指標,接下來你可以選擇merge或checkout

$ git fetch origin master:tmp

# 從遠端倉庫master分支獲取最新,checkou到本地建立tmp分支

$ git diff tmp

# 將當前分支和tmp進行對比

$ git merge tmp

# 合併tmp分支到當前分支

5.分支

5.1 新建分支

git branch branchname

5.2 刪除分支

git branch -d branchname

5.3 檢視所有分支&當前分支

git branch -a

Git各種取消

1 commit取消,保留修改 git reset soft head 或git reset soft head 2 commit取消,不保留修改 git reset hard head 或git reset hard head 3 merge錯分支 1.dev merge test,取消 2.v1...

git 取消檔案跟蹤 git 取消原有檔案索引

本地所有檔案 git rm cached readme1.txt 刪除readme1.txt的跟蹤,並保留在本地。git rm f readme1.txt 刪除readme1.txt的跟蹤,並且刪除本地檔案。資料夾 如果是對所有檔案都取消跟蹤的話,就是 git rm r cached 不刪除本地檔案...

Git簡明教程

git是拿來控制版本的,版本控制即vcs version control system 版本控制最初是linux之父拿來管理複雜的linux核心版本的 本地版本控制 容易與備份混淆 分布式版本控制 每個使用者都有乙個專案的完整拷貝,可以通過fetch pull與伺服器同步,便於協同工作 modifi...