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 git@code.aliyun.com: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 ‘git@code.aliyun.com: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>
。