git常用命令(文件冲突,版本分支管理,打tag)

目录内容:

目录

目录

目录内容:

git多人协作开发:

一、工作区   git add ---->   暂存区   git commit ------> 本地仓库

二、查看提交日志,回退指定版本,比较文件差异

 三、分支操作,本地仓库

四、远程仓库

五、git打tag



git多人协作开发:

同一团队

如果有代码权限,针对代码托管中心的拉取提交流程:

跨团队开发

命令行:

一、工作区   git add ---->   暂存区   git commit ------> 本地仓库

1、git init           初始化一个git本地仓库,生成 .git 文件夹。rm -f .git 取消git初始化。

2、git status      追踪修改过的文件的状态(是否提交)

3、git add  <file>   或  git add .        提交修改的某一文件(多文件用空格)/全部文件

4、git rm -f <file>    删除暂存区分支的文件, 同时工作区也不需要这个文件了

5、git rm --cached <file> 删除暂存区分支的文件,回退到工作区(相当于add的回退)

6、git commit -m "注释信息" <file>  /  git commit -a或-am "注释信息" 

对于已跟踪文件,-a可以省去add的操作

二、查看提交日志,回退指定版本,比较文件差异

日志:

1、git log 

2、git log --pretty=oneline/--oneline

3、git reflog

 

回退:

git reset --hard <commit号>

git push origin HEAD --force

如果没有commit到本地仓库,仅仅add到暂存区,使用:

git reset --hard HEAD

比较文件差异:

git diff <file>      file名可加可不加,比较工作区和暂存区

git diff HEAD <file>   比较工作区和本地库

 三、分支操作,本地仓库

1、git branch <branch name>           创建分支

2、git branch -v                                   查看分支

3、git checkout <branch name>        切换分支

4、git checkout <branch name>         切换到被合并到的版本,

      git merge <branch name>              将指定版本合并过来,

5、git checkout -b 本地分支名 origin/远程分支名 拉取远程指定分支到本地

 

如git checkout  master主分支,然后git merge hot_fix 将hot_fix的分支内容合并到主分支。

切换分支时工作区内容提交到哪个分支的本地库,就是哪个分支做出了修改。

git merge 时,如果发生了冲突,需要手动解决冲突。(本地冲突)

eg:    将debugDouyin分支内容合并到主分支master

 此时在master分支可以看到冲突内容,互相沟通,解决冲突。

 

 沟通解决后,git status,可以看到还有未merge的内容,此时需要通过git add来标记冲突已解决。

git add <file>后,再git status,文件已经成功合并。

最后根据提示,git commit -m "注释信息"来完成本次合并,通过git status或git log即可查看合并结果。(如果忘记注释信息,需要进入编辑注释信息的过程,百度一下linux命令行使用即可)

四、远程仓库

关联仓库:

git remote -v    查看关联的远程仓库   

git remote add <origin-store> ssh/http  通过ssh密钥或http路径,关联远程仓库。

<oring-store>  是给远程仓库起的名字,一般叫origin,此处为了突出这是我们自己起的,叫myOriginStore

git remote rm <origin-store>  解除关联的远程仓库

eg:此时再 git remote -v即可查看关联的仓库

 推送和克隆:

1、推送

git push <origin-store> <branch-name> 推送到指定仓库的指定分支上

eg:推送到myOriginStore上的mater分支,如果没有,就创建。

 2、克隆

 git clone  <path>

此时如果远程仓库做出修改,本地想要拉取远程仓库内容 :

git fetch <origin-store>  <branch-name>   抓取远程分支内容,此时本地内容并没有改变。


可以git checkout <origin-store>/<branch-name>,切换到修改的分支,查看改变的内容

git merge <origin-store>/<branch-name>,合并修改内容

 当本地修改了,而别人提前提交代码到远程仓库时,这边没法推送代码,有了代码冲突。

 也没办法拉取最新代码,此时通过git status查看冲突代码,手动解决冲突即可。

五、git打tag
 

Git - 打标签

六、分支签出与关联

我在本地建了一个分支znn,开发完之后,提交代码

git add .
git commit -m '注释'
git push

出现下面的问题,这个意思是:当前分支没有与远程分支关联。
因此导致了提交代码失败。

MacBook-Pro-5:web-crm znn$ git push
fatal: The current branch znn has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin znn

解决方案:
(1)直接 git push origin znn 推向制定的分支,最强暴的方法。
(2)正如上面所说关联远程分支。

git push --set-upstream origin znn
origin 是默认的远程版本库名称
这样关联有一个好处,以后就不用每次git push都用第(1)种方法。

git checkout -b <newBranch> origin/<newBranch> //创建一个新分支拉取制定的远程分支
git push --set-upstream origin <newBranch>。. //本地创建新分支,提交到远程并关联

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值