Git一分鐘上手

2021-09-30 15:15:15 字數 1719 閱讀 1369

git一分鐘上手

流程:取** → 每次工作前更新**到最新版本 → 修改** → 提交**到伺服器

取**及修改全域性設定

設定使用者名稱與郵箱

git config --global user.name "my name"

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

從已有的git庫中提取**

每次更改**的操作

更新本地**到最新版本(需要merge才能合到本地**中)

git fetch

合併更新後的**到本地

git merge

更新**方式的另一種方法(git pull是git fetch和git merge命令的乙個組合)

git pull

修改**後,檢視已修改的內容

git diff --cached

將新增加檔案加入到git中

git add file1 file2 file3

從git中刪除檔案

git rm file1

git rm -r dir1

提交修改

git commit -m 'this is memo'

如果想省掉提交之前的 git add 命令,可以直接用

git commit -a -m 'this is memo'

commit和commit -a的區別, commit -a相當於:

第一步:自動地add所有改動的**,使得所有的開發**都列於index file中

第二步:自動地刪除那些在index file中但不在工作樹中的檔案

第三步:執行commit命令來提交

提交所有修改到遠端伺服器,這樣,其它團隊成員才能更新到這些修改

git push

其它常用命令

顯示commit日誌

git log

不僅顯示commit日誌,而且同時顯示每次commit的**改變。

git log -p

回滾**:

git revert head

你也可以revert更早的commit,例如:

git revert head^

銷毀自己的修改

git reset --hard

檢視最新版本和上乙個版本的差異(乙個^表示向前推進乙個版本)

git diff head head^

將branchname分支合併到當前分支中。(如果合併發生衝突,需要自己解決衝突)

git merge branchname

解決衝突

當merge命令自身無法解決衝突的時候,它會將工作樹置於一種特殊的狀態,並且給使用者提供衝突資訊,以期使用者可以自己解決這些問題。當然在這個時候,未發生衝突的**已經被git merge登記在了index file裡了。如果你這個時候使用git diff,顯示出來的只是發生衝突的**資訊。

在發生衝突的時候,如果你使用git status命令,那麼會顯示出發生衝突的具體資訊。

在你解決了衝突之後,你可以使用如下步驟來提交:

第一步(如果需要增加檔案):

git add file1

第二步:

git commit

git恢復刪除了的檔案

git pull

從git伺服器取出,並且和本地修改merge, 類似於svn up,但是對刪除的檔案不管用,恢復刪除檔案用

git checkout -f

**:

Git一分鐘上手

流程 取 每次工作前更新 到最新版本 修改 提交 到伺服器 設定使用者名稱與郵箱 12 git config global user.name my name git config global user.email my email.com 從已有的git庫中提取 git clone git se...

Git一分鐘上手

流程 取 每次工作前更新 到最新版本 修改 提交 到伺服器 設定使用者名稱與郵箱 12 git config global user.name my name git config global user.email my email.com 從已有的git庫中提取 git clone git se...

git一分鐘教程

設定使用者名稱與郵箱 1 2git config global user.name my name git config global user.email my email.com 從已有的git庫中提取 1 更新本地 到最新版本 需要merge才能合到本地 中 1git fetch 合併更新後的...