Git 常用命令

Git常用命令

克隆到本地

git clone https://github.com/tomoyachen/helloflask.git

查看分支列表與當前所在分支

git branch

檢出 切換分支到xxx分支

git checkout xxx

添加目錄內新文件到版本管理列表

.可以提交未跟蹤和修改文件,但是不處理刪除文件
只能夠提交當前目錄或者它後代目錄下相應文件

git add .

添加目錄內新文件到版本管理列表

all可以提交未跟蹤、修改和刪除文件
ll無論在哪個目錄執行都會提交相應文件

git add all

提交到本地倉庫

git commit -m "更新內容提交說明"

推送到遠端

#第一次
git push origin master

#綁定遠端與分支後
git push

拉取到本地 不自動megre

#第一次
git fetch origin master

#綁定遠端與分支後
git fetch

拉取到本地 自動megre

#第一次
git pull origin master

#綁定遠端與分支後
git pull

把xxx分支合併到當前分支

git megre xxx

新建一個名爲xxx的分支(從當前分支克隆)

#新建,但不切換
git branch xxx

#新建,並切換到此分支
git checkout -b xxx

刪除 xxx分支

git branch -d xxx

查看Git日誌

git log

回滾到某次提交

git log信息如下
commit 796e93b680f31d7762b7760363f624a366d374f1 (origin/master, origin/HEAD)

#慎重 !不可逆操作
git reset --hard 796e93b680f31d7762b7760363f624a366d374f1 

#慎重!不可逆操作
git checkout 796e93b680f31d7762b7760363f624a366d374f1 

常見場景

同時兩方修改同一文件, 自動merge

A用戶

新加了個def a()函數

git add .
git commit -m "Updates by A"
git push

B用戶

新加了個def b()函數(代碼無衝突)

git add .
git comiit -m "Updates by B"
git pull

git 自動merge

同時兩方修改同一文件, 手動merge

A用戶

修改了a()函數裏的內容

git add .
git commit -m "Updates by A"
git push

B用戶

也修改了a()函數裏的內容(代碼有衝突)

git add .
git comiit -m "Updates by B"
git pull

合併失敗,提示:

Auto-merging demos/watchlist/app.py
CONFLICT (content): Merge conflict in demos/watchlist/app.py
Automatic merge failed; fix conflicts and then commit the result.


最終需要手動merge,解決衝突

<<<HEAD 到 === 是你本地內容

=== 到 >>> 36c…a6c 是遠端拉取的內容

手動修改代碼爲期望功能後保存提交即可,手動merge容易出錯,一定要告知測試進行測試。

def a():
<<<<<<< HEAD
    a = 10
    b = 20
    c = a - b
=======
    a = 1
    b = 2
    c = 1+2
>>>>>>> 36c10d1ad12723d54f8ef6711b065d4a90330a6c
    pass
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章