1、 初始化,通過git init
命令把這個目錄變成Git可以管理的倉庫
thinkerdeMacBook-Airt:dev thinker$ git init
Initialized empty Git repository in /Users/thinker/Documents/code/dev/.git/
2、與遠程分支建立連接
thinkerdeMacBook-Air:dev thinker$ git remote add origin [email protected]:xxxxxxx.git
3、把分支拉取到本地(dev 爲遠程倉庫的分支名)
thinkerdeMacBook-Air:dev thinker$ git fetch origin dev
remote: Enumerating objects: 916, done.
remote: Counting objects: 100% (916/916), done.
remote: Total 916 (delta 169), reused 555 (delta 169)
Receiving objects: 100% (916/916), 2.18 MiB | 5.57 MiB/s, done.
Resolving deltas: 100% (169/169), done.
From code.aliyun.com:xxxxxxx
- branch dev -> FETCH_HEAD
- [new branch] dev -> origin/dev
4、查看本地分支
thinkerdeMacBook-Air:dev thinker$ git branch
5、查看遠程分支
thinkerdeMacBook-Air:dev thinker$ git branch -a
remotes/origin/dev
6、把遠程代碼拉取到本地
thinkerdeMacBook-Air:dev thinker$ git pull origin dev
From code.aliyun.com:youhuayang/vanke-lingbao-meihaojia
- branch dev -> FETCH_HEAD
7、查看git狀態
thinkerdeMacBook-Air:dev thinker$ git status
On branch master
nothing to commit, working tree clean
8、修改index.vue文件後再次查看狀態
thinkerdeMacBook-Air:dev thinker$ git status
On branch master
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: clientCode/admin/src/view/basicManagement/theBusinessArea/index.vue
no changes added to commit (use “git add” and/or “git commit -a”)
9、用命令git add
告訴Git,把文件添加到倉庫
thinkerdeMacBook-Air:dev thinker$ git add .
10、用命令git commit
告訴Git,把文件提交到倉庫
thinkerdeMacBook-Air:dev thinker$ git commit -m"xiugai"
[master 9c9f8dd] xiugai
1 file changed, 1 insertion(+)
11、再次查看git狀態
thinkerdeMacBook-Air:dev thinker$ git status
On branch master
nothing to commit, working tree clean
16、把本地庫的所有內容推送到遠程庫上,用git push命令,實際上是把當前分支dev推送到遠程
thinkerdeMacBook-Air:dev thinker$ git push origin dev
error: src refspec dev does not match any
error: failed to push some refs to ‘[email protected]:xxxxxx.git’
thinkerdeMacBook-Air:dev thinker$ git branch
*master
thinkerdeMacBook-Air:dev thinker$ git checkout dev
Branch ‘dev’ set up to track remote branch ‘dev’ from ‘origin’.
Switched to a new branch ‘dev’
17、查看當前分支
thinkerdeMacBook-Air:dev thinker$ git branch
*dev
master
18、把遠程庫的所有內容拉取到本地
thinkerdeMacBook-Air:dev thinker$ git pull origin dev
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From code.aliyun.com:youhuayang/vanke-lingbao-meihaojia
*branch dev -> FETCH_HEAD
c299e0e…abf0424 dev -> origin/dev
Updating c299e0e…abf0424
Fast-forward
…/vanke-lingbao-meihaojia/mehos-sys-server/pom.xml | 18 ++++++++++++++++++
serverCode/vanke-lingbao-meihaojia/pom.xml | 20 ++++++++++++++++++++
2 files changed, 38 insertions(+)
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is up to date with ‘origin/dev’.
nothing to commit, working tree clean
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is up to date with ‘origin/dev’.
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: clientCode/admin/src/view/basicManagement/theBusinessArea/index.vue
no changes added to commit (use “git add” and/or “git commit -a”)
thinkerdeMacBook-Air:dev thinker$ git add .
thinkerdeMacBook-Air:dev thinker$ git branch
*dev
master
thinkerdeMacBook-Air:dev thinker$ git commit -m "thinker"
[dev 5fbb055] thinker
1 file changed, 1 insertion(+)
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is ahead of ‘origin/dev’ by 1 commit.
(use “git push” to publish your local commits)
nothing to commit, working tree clean
thinkerdeMacBook-Air:dev thinker$ git push origin dev
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 4 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 742 bytes | 742.00 KiB/s, done.
Total 9 (delta 6), reused 0 (delta 0)
To code.aliyun.com:xxxxxx.git
abf0424…5fbb055 dev -> dev
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is up to date with ‘origin/dev’.
nothing to commit, working tree clean
以上一系列的操作,最終將本地修改後的代碼與遠程庫中的代碼進行合併 並推送到遠程庫中
以下的是重新做的測試,修改index.vue
文件,先是將遠程庫中的代碼拉取到本地,進行合併,若是有衝突則手動解決衝突,衝突解決之後,再此保存通過git push origin <branch name>
推送到遠程庫中
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is up to date with ‘origin/dev’.
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: clientCode/admin/src/view/basicManagement/theBusinessArea/index.vue
no changes added to commit (use “git add” and/or “git commit -a”)
thinkerdeMacBook-Air:dev thinker$ git add .
thinkerdeMacBook-Air:dev thinker$ git commit -m "修改測試"
[dev 13547d7] 修改測試
1 file changed, 1 deletion(-)
thinkerdeMacBook-Air:dev thinker$ git pull origin dev
From code.aliyun.com:youhuayang/vanke-lingbao-meihaojia
*branch dev -> FETCH_HEAD
Already up to date.
thinkerdeMacBook-Air:dev thinker$ git status
On branch dev
Your branch is ahead of ‘origin/dev’ by 1 commit.
(use “git push” to publish your local commits)
nothing to commit, working tree clean
19、把本地庫的所有內容推送到遠程庫上,用git push命令,實際上是把當前分支dev推送到遠程
thinkerdeMacBook-Air:dev thinker$ git push origin dev
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 4 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 745 bytes | 745.00 KiB/s, done.
Total 9 (delta 6), reused 2 (delta 0)
To code.aliyun.com:xxxxxx.git
5fbb055…13547d7 dev -> dev
多人協作的工作模式:
-
1.首先,可以試圖用
git push origin <branch-name>
推送自己的修改; -
2.如果推送失敗,則因爲遠程分支比你的本地更新,需要先用
git pull
試圖合併; -
3.如果合併有衝突,則解決衝突,並在本地提交;
-
4.沒有衝突或者解決掉衝突後,再用
git push origin <branch-name>
推送就能成功!
如果git pull
提示no tracking information
,則說明本地分支和遠程分支的鏈接關係沒有創建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。