git 常用命令

git status  --查看状态
git pull    --获取远程分支代码并合并到本地分支
git branch  --查看分支
git branch C1 --创建C1分支
git checkout C1 --切换到分支C1
git checkout -b C1 --创建并切换到C1分支
git add .  --添加所有文件
git commit -m "提交说明"  --提交本地分支
git merge C1 --将C1分支合并到当前所在分支
git push  --将本地分支推送到远程分支
git checkout . 撤销修改
git restore <file>..." to discard changes in working directory  文件路径重定义文件夹目录
 
Git 更改远程地址
查看远程地址
git remote -v
更换远程地址
git remote set-url origin 新的地址
远程仓库里拉取一条本地不存在的分支时
git checkout -b 本地分支名 origin/远程分支名
新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名)
git push origin dbg_lichen_star:dbg_lichen_star
删除远程分支
git push origin :dbg_lichen_star
git push origin --delete dbg_lichen_star
提交本地test分支作为远程的master分支
git push origin test:master
提交本地test分支作为远程的test分支
git push origin test:test
刚提交到远程的test将被删除,但是本地还会保存的,不用担心
git push origin :test   
 
拉取指定分支的方式:          
查看远程分支
git branch -r
创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名 本地分支名
拉取
git pull
 
注:更换之后可以查看一下这个非常实用。

       通常我们把gitlab服务器更换的时候,对应的地址也就变了。通过上面的指令更换一下就可以了。

      gitlab备份,恢复都是蛮方便的。用户和项目,以及分支统统都备份下来了。

 
注:git add 后必须Git commit ,否则你Git pull ,Git push都会出现问题,我提交时时让我反复的账号密码输入
 
---注意 执行merge 和 push 命令之前应先执行 git pull 获取远程代码
 
git reset 和 git revert 的区别
1、git revert是用一次新的commit来 回滚之前的commit,git reset是直接 删除指定的commit。
2、在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。
      因为git revert是用一次逆向的commit“中和”之前的提交,
      因此日后合并老的branch时,导致这部分改变不会再次出现,
      但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,
      这些被回滚的commit应该还会被引入。
3、git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,
     只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。
    
没PUSH 可以用git reset
已经PUSH了,要用git revert 回退
 
注:不要在自己创建的分支上git pull,可以将主分支上的代码git pull之后,在git merge 主分支到子分   支上

git stash暂存修改有两种情况:

  文件已经被 git 跟踪,只是修改了代码(而不是新条件文件),
  我们可以使用 git stash 或 git stash save "注释" 来暂存修改。

  如果有新添加的文件,那么就需要添加 -a 参数
(如,git stash -a 或 git stash save -a "注释"),

  或先 git add . 然后再使用 git stash 或 git stash save "注释" 来暂存修改。

 

  当完成了变更,在开启项目,开启项目某一个暂存可以使用 git stash apply stash@{id} ,stash@{id}
 里面的id默认从0开始,最近的暂存为0。如果开启最近的一个暂存,
 则可以使用 git stash pop 或 git stash apply stash@{0} 来开启。

 就视觉效果来说,git stash pop 和 git stash apply stash@{0} 效果是一样的,
 但是,在某些方面这两个命令还是有所区别的,git stash pop 开启某个修改暂存后,
 会在 stash list 里面将最近一次的修改暂存记录删除掉,而 git stash apply stash@{0} 则不会。



查看有多少个修改暂存,可以使用 git stash list 来查看 stash 列表。

 

我们也可删除修改暂存,删除某一个修改暂存,git stash drop stash@{id},
如果需要清空所有的修改暂存,可以使用 git stash clear 命令。

 
合并分支
提交分支代码:1.git add .  2.git commit -m '描述' 3.git pull 4.git push 
切换到dev分支,然后 1.git pull  2.git merge dev-分支  3.git pull 4.git  push
参考:
     https://www.cnblogs.com/jiqing9006/p/9920843.html
     拉取远程分支到本地
     https://blog.csdn.net/weixin_42501009/article/details/99679067
     创建远程分支
     https://blog.csdn.net/dddxxxx/article/details/86649420
     https://www.cnblogs.com/huanxiyun/articles/6289096.html
     https://blog.csdn.net/zmemorys/article/details/112648082
     git stash 暂存当前修改
     https://www.cnblogs.com/ayseeing/p/4240429.html
 
 
 

posted @ 2020-07-17 16:45  小窝蜗  阅读(97)  评论(0编辑  收藏  举报