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