Git 常用命令

1 代码操作相关

克隆到本地

git clone http://...

拉取代码到本地

git pull

舍弃本地更改

git checkout .

commit代码

git commit -am "....."

提交代码

git pull

舍弃某文件的更改

git restore xxxx

2 分支操作相关

查看当前分支

git branch

查看该repo所有分支

git branch -a

创建本地分支 并切换到新本地分支

git checkout -b nameOfTheNewBranch

将新分支信息推送到github

git push origin HEAD -u

重命名分支 oldbranch 为 newbranch

git branch (-m | -M) <oldbranch> <newbranch>

使用-M表示强制重命名。

如果需要重命名远程分支,推荐的做法是:
删除远程待修改分支
push本地新分支名到远程

3 撤回push到远程的代码

首先

git log

选择需要回撤的版本

commit bc07480025bca168e2136064d795f2bb56eab999
Author: xxxcxy <yy_z3em@163.com>
Date:   Fri Apr 10 14:09:47 2020 +0800

执行

git reset --soft  bc07480025bca168e2136064d795f2bb56eab999

git reset --hard  bc07480025bca168e2136064d795f2bb56eab999

前者只改变HEAD的指向,不改变本地代码,我们使用git status依然可以看到,同时也可以git commit提交。后者会直接改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码,所以使用是一定要小心,想清楚。
最后推送到远程:

git push origin 分支  --force

3 删除分支

我现在在dev20181018分支上,想删除dev20181018分支
1 先切换到别的分支:

 git checkout dev20180927

2 删除本地分支:

git branch -d dev20181018

3 如果删除不了可以强制删除:

git branch -D dev20181018

4 有必要的情况下,删除远程分支(慎用):

git push origin --delete dev20181018

4 合并分支

想将dev分支合并到master分支,操作如下:
1、首先切换到master分支上

git  checkout master

2、如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master

//如果是自己一个开发就没有必要了,为了保险期间还是pull
3、然后我们把dev分支的代码合并到master上

git  merge dev

4、然后查看状态及执行提交命令

git status

On branch master
Your branch is ahead of 'origin/master' by 12 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean

//上面的意思就是你有12个commit,需要push到远程master上
最后执行下面提交命令

git push origin master

5 不同仓库合并分支

你每次往A仓库拉取B仓库的代码的时候这样做。
先执行下边这句,只执行一次。如果本地仓库删掉了,才需要再次重新执行。

git remote add B https://github.tools.xxxx.git

每次需要更新A的时候,这么merge就可以了

git fetch B
git  merge --squash  B/branch --allow-unrelated-histories
git commit -am "Merge B repo's branch"
git push

6 删除Tag

eg: tag名21.11.0-M106

git tag -d 21.11.0-M106 删除本地
git push origin :21.11.0-M106 删除远程

7 cherry pick

https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

8 配置两套git

https://www.jianshu.com/p/48413e033de4

9 提交代码到另外一个仓库

https://segmentfault.com/a/1190000004326399

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容