git操作

本文详细介绍了Git的基本操作流程,包括版本库的创建与管理、远程仓库的关联与代码同步、分支的创建与合并、冲突解决、版本回退、修改操作及特殊场景下的Git使用技巧。

一、创建版本库

$git init

二、远程仓库

1、关联远程仓库

$ git remote add origin git@git.dianpingoa.com/arts-repo/search-it-automation.git

2、从远程仓库拉取代码

$ git clone git@git.dianpingoa.com/arts-repo/search-it-automation.git

3、更新本地仓库代码

$ git fetch

$ git pull

4、把文件添加到仓库

$ git add readme.txt

5、把文件提交到仓库

$ git commit -m "wrote a readme file"

6、把本地库的所有内容推送到远程库上

$ git push -u origin master

 

三、创建与合并分支

(1)从master分支创建dev分支并切换到dev分支

$ git checkout master

$ git checkout -b dev

(1)查看本地当前分支

$ git branch

分支前面带“*”表示当前分支,剩下的分支表示本地有的分支。

(2)查看远程全部的分支,

$ git branch -a

注意:白色的表示本地有的,红色的表示本地没有,仅在远程存在

(3)分支合并(将dev合并到master)

$git checkout master

$git merge dev

(4)合并完成后,删除dev分支

$git branch -d dev

注意:删除dev分支时,注意我们当前所在的分支不能是dev分支)

 

四、解决冲突

(1)创建分支

$ git checkout -b feature1

Switched to a new branch 'feature1'

(2)修改readme.txt最后一行,改为:

Creating a new branch is quick AND simple.

(3)在feature1分支上提交:

$ git add readme.txt

$ git commit -m "AND simple"

[feature1 14096d0] AND simple

1 file changed, 1 insertion(+), 1 deletion(-)

(4)切换到master分支

$ git checkout master

Switched to branch 'master'

Your branch is ahead of 'origin/master' by 1 commit.

(use "git push" to publish your local commits)

(5)在master分支上把readme.txt文件的最后一行改为:

Creating a new branch is quick & simple.

(6)提交

$ git add readme.txt

$ git commit -m "& simple"

[master 5dc6824] & simple

1 file changed, 1 insertion(+), 1 deletion(-)

 

注意:现在,master分支和feature1分支各自都分别有新的提交,这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突

$ git merge feature1

Auto-merging readme.txt

CONFLICT (content): Merge conflict in readme.txt

Automatic merge failed; fix conflicts and then commit the result.

Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件

 

(7)查看readme.txt中的内容

Git is a distributed version control system.

Git is free software distributed under the GPL.

Git has a mutable index called stage.

Git tracks changes of files.

<<<<<<< HEAD Creating a new branch is quick & simple.

======= Creating a new branch is quick AND simple.

>>>>>>> feature1

注意:Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,

(8)我们修改如下后保存:

Creating a new branch is quick and simple.

(9)再提交:

$ git add readme.txt

$ git commit -m "conflict fixed"

[master cf810e4] conflict fixed

(10)最后,删除feature1分支:

$ git branch -d feature1

Deleted branch feature1 (was 14096d0).

 

五、版本回退

(1)显示从最近到最远的提交日志

$git log --pretty=oneline

(2)回退到上一个版本

$ git reset --hard HEAD^

(3)回到指定版本

$ git reset --hard 1094a

(4)显示每一次命令历史

$git reflog

 

六、修改操作

(1)查看工作区和版本库里面最新版本的区别

$git diff HEAD -- readme.txt

(2)丢弃工作区的修改

$ git checkout -- readme.txt

(3)把暂存区的修改撤销掉

$ git reset HEAD readme.txt

(4)从版本库中删除该文件

$ git rm test.txt

$ git commit -m "remove test.txt"

 

七、GIT操作

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活!!!

1、拉取远程代码

2、创建自己的分支yinqin

3、平时在自己的分支上进行工作

4、当需要提交的时候,在分支yinqin上add以及commit之后,切换回master分支,将Dev与master分支进行合并

      git merge --no-ff -m "merge with no-ff" dev

5、当需要某个临时的Bug时,但是当前正在yinqin上进行的工作还没有提交,而且工作只进行到一半

(1)git stash:把当前工作现场“储藏”起来,等以后恢复现场后继续工作

(2)git checkout master:回到master分支

(3)git checkout -b bug:创建临时bug分支

(4)在Bug分支上进行修改,修改完成后add、commit

(5)切回master分支,将Bug分支与master分支进行合并

(6)再切回到yinqin工作分支

(7)git stash list:查看

(8)恢复之前的工作状态:

  • git stash apply:恢复的同时stash内容并不删除
  • git stash pop:恢复的同时stash内容也删除了

 

 

 

 

 

 




 

转载于:https://www.cnblogs.com/yinqanne/p/9318750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值