git 经验点滴

1.git clone 首次从远程仓库克隆代码

    Git clone -b 分支名  git地址  文件夹

如果不指定分支名,就会克隆所有分支。如果指定了,就只下载该分支

如果不指定文件夹,会使用项目名称作为新建文件夹名称

cd 文件夹  之后, git checkout 分支名 ,可以切换分支

 

2.Git pull  从远程仓库拉取代码

 a.拉取规则

     git pull 从服务器端拉取最新改动,没有冲突的文件直接覆盖,有冲突的文件会提示有冲突。

  b. 拉取之前要做什么

 pull之前要先

 git add .   

 git commit -m 'brief' 

 否则的话源文件里不会插入 

<<<<<<< HEAD

               //我的代码 

=======
            //远程代码
>>>>>>> 8c5bb47681622fc81c097b823ee1e829426d0286

这样的代码块。可能是因为改动的代码没有commit到本地库,所以git就没法去比对。

c.差异查看

   如果一个文件里,远程添加或删除了某块代码(本地对应的没有动),git pull会直接添加或删除本地代码,不会出现<<<HEAD 修改提示。只有在同一个地方出现了差异,才会有<<<<HEAD 提示   

使用git diff 命令一样可以看到以上冲突的代码

git blame 文件名 可以看到该文件详细的更改情况,哪一行是谁改的

d.解决冲突

出现冲突后,我方修改了冲突,然后

git add . 

git commit -m 'brief'

这时候再git pull就会提示已经是最新,不用拉取了。如果git push 就会将本地改动提交到远程服务器

 

3.查看分支之间差异

注意: 分支要进行commit之后才可以用以下命令查看差异

git diff --stat 本地分支 远程分支

git diff --stat master origin/master 本地master分支和远程master分支之间的差异

git diff --stat master dev

4.强制推送

git push --force

当远程比本地新时,可以使用此命令强制推送,但是一定要慎重使用

5.分支管理

  https://www.runoob.com/git/git-branch.html

 git分支的理解,通俗易懂:

  https://www.cnblogs.com/matengfei123/p/8252128.html

6.某文件夹不能push问题的解决

原来该文件夹下也有.git文件夹,删去后,也不行。

到外层含有.git的文件夹下右键 git bash

执行

git rm --cached directory
 git add directory

其中 directory 为具体的文件夹,相对于.git所在的文件夹

执行过之后,vs2017的团队资源管理器里就可以看到这个文件夹的更改了。

 

7. gitignore文件不生效的问题

有的文件加入了gitignore文件,但是仍然在追踪变化,这是因为git一旦追踪一个文件,就会持续追踪,解决办法也是很简单,只需要清空一下 git 本地的缓存提交一次即可。

先清掉 git 缓存

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

 

8.版本回退

git reset --hard  版本号

查看版本号: git log 或者 git reflog

另外还有一个办法 git revert

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值