git使用過程及常用命令

2021-09-27 02:46:37 字數 3538 閱讀 9195

14. 多人協作

git config --global user.name "dzysunshine"

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

先在git目錄下建立乙個空目錄,例如名為learngit的目錄,進入該目錄,通過git init命令將其變為git可以管理的目錄。

mkdir learngit

cd learngit

git init

使用windows時要注意不要使用記事本編輯檔案,使用notepad++, 預設編碼設定為utf-8 without bom即可,先手動用notepad++建立乙個readme.txt檔案,然後執行以下操作。(注意建立的這個檔案一定要放到learngit目錄(或其子目錄)下)

#把檔案新增到倉庫

git add readme.txt

#通過下面命令告訴git,把檔案提交到倉庫

git commit -m 'create readme.file'

如果有多個檔案,可以依次add多次,而commit只需一次。

第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;

第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

使用git status命令。如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容, 用git log命令檢視歷史記錄。

git status

git diff readme.txt

git log命令可以檢視歷史記錄,用git relog命令可以檢視記錄的每一次命令。

# 檢視歷史提交版本的版本號,head表示當前版本

git log --pretty=oneline

# 將當前板本回退到上一次更改的版本

git reset --hard head^

#如果是想回退到上100個版本,可以使用下面**

git reset --hard head~100

git diff head – readme.txt命令可以檢視工作區和版本庫裡面最新版本的區別。

命令git checkout – readme.txt意思就是,把readme.txt檔案在工作區的修改全部撤銷。

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

#建立ssh key,一路回車就好

ssh-keygen -t rsa -c "[email protected]

# origin 就是遠端庫的名字

git remote add origin

把本地倉庫的所有檔案(剛剛新建的 readme.md)上傳到 github 上(第一次需要加-u,後面就不需要了)

git push -u origin master
在本地 learngit 倉庫中做任何改動後,都可以直接執行下面的語句新增、提交到倉庫並上傳到 github 遠端倉庫中。

git add .

git commit -m "***"

git push origin master

要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖。

git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。

git clone [email protected]:dzysunshine/100-days-of-ml-code.git
建立分支

# 建立dev分支,然後切換到dev分支(-b表示建立並切換)

git checkout -b dev

上面一條**和下面的兩條**效果是相同的(需要注意,新版的git可以使用switch代替chenkout切換分支)

# 建立dev分支

git branch dev

# 切換到dev分支

git checkout dev

檢視當前分支

# 檢視當前分支

git branch

帶*的表示當前分支

* dev

master

在dev分支工作完成時,將dev分支合併到master分支上,並刪除dev分支

# 先切換到master分支上

git checkout master

# 把dev分支的工作成果合併到master分支上

git merge dev

# 刪除dev分支

git branch -d dev

# 刪除後,檢視branch

git branch

小結一下

檢視分支:git branch

建立分支:git branch 切換分支:git checkout 或者git switch 建立+切換分支:git checkout -b 或者git switch -c 合併某分支到當前分支:git merge 刪除分支:git branch -d

當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。

解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。

用git log --graph命令可以看到分支合併圖。

通常分支管理中合併的時候,使用no-off模式比較好,因為它可以 在merge時生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊。

git merge --no-ff -m "merge with no-ff" dev
開發乙個新feature時,最好新建乙個分支;如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d name強行刪除。

多人協作的工作模式通常是這樣:

首先,可以試圖用git push origin 推送自己的修改;

如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併;

如果合併有衝突,則解決衝突,並在本地提交;

沒有衝突或者解決掉衝突後,再用git push origin 推送就能成功!

如果git pull提示no tracking information,則說明本地分支和遠端分支的鏈結關係沒有建立,用命令git branch --set-upstream-to origin/。

這就是多人協作的工作模式,一旦熟悉了,就非常簡單。

git及常用命令

git 是乙個分布式版本控制工具,不必伺服器端軟體支援,使源 的發布和交流極其方便 git 的優勢主要有 1.git是分布式的,這是git和其它非分布式的版本控制系統 svn,cvs 最核心的區別。從中心版本庫的伺服器上chect out 後會在自己的機器上轉殖乙個自己的版本庫。它支援離線工作 本地...

git常用命令及使用技巧

git config global user.name your name git config global user.email email example.com git config 1初始化git git init更改 之後新增檔案 git add filename如果記不清改了哪個檔案,...

GIT 使用教程及常用命令

使用命令git add 注意,可反覆多次使用,新增多個檔案 使用命令git commit m 完成。一般情況下,你通常直接在檔案管理器中把沒用的檔案刪了,或者用rm命令刪了.這個時候,git知道你刪除了檔案,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些檔案被刪除了 現在你...