git积累

git命令
重置本地提交:

git reset --hard c3446cb28bc30b08931cd4d3ad2d541e058ebd04 (当前版本的sha)

回滚操作

 git revert -m 1    sha(18d290169ac80120c4401f17719122c3500ecfaf)

重置merge

 git reset --merge     sha(18d290169ac80120c4401f17719122c3500ecfaf)merge前的任何一次提交的hash串

命令拉去远程分支

git checkout  features/dev_arvr/dev_arvr  

git checkout features/QR/PZG-V7.0.8

更新远程分支列表

git remote update origin --prune

切换到当前分支 —>合并分支

 git merge 分支名

查看标签

  git tag

创建标签

  git tag v7.0.4_release

发布标签

git push origin v7.0.4_release

将本地所有标签一次性提交到git服务器

git push origin –tags

删除本地tag

git tag -d test_tag

本地tag删除了,再执行该句,删除线上tag

git push origin  :refs/tags/test_tag

分支操作基础命令:
origin为远程仓库名
命令:

git push origin local_branch:remote_branch 

备注:此命令中,local_branch必须为你本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支;类似,git push origin :remote_branch,local_branch留空的话则是删除远程remote_branch分支。

$ git branch dev  //创建本地分支 dev
$ git checkout dev   //切换本地分支 dev
$ git checkout -b dev   //相当于以上两条命令:创建 dev 分支并切换
Switched to a new branch 'dev'

$ git branch
//查看本地分支

 git branch -a 

查看远程分支

git branch -r

备注:git branch 命令会列出所有分支,当前分支前面会标一个*号。

git branch -d dev   //删除本地分支 dev

Deleted branch dev (was fec145a).
推送删除本地分支到远端 git push origin :dev

git库太大 git clone命令

  • 最好用以下方法Clone单个分支:

    git clone http://XXXXX.git -b 你要的分支名 --single-branch  
    
  • clone成功后,想获取其他分支,用以下命令:

      git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"    
    

    git fetch --all

下载:下载新库代码请参考以下命令,

git clone http:XXXXXXXXXX.git --reference /User/JD4iPhone10 --dissociate
(/User/JD4iPhone10——替换为本机老库代码目录)

查看log 提交作者
git log --author=cuihongbao@jd.com

子模块git命令
git submodule add -f http://XXXXXXXXXX.git XXXXXXModule/XXXXXXModule/Classes/XXXXXXXModule

使用git命令修改“commit message”同时重置当前Commit的user/email:

git commit --amend --reset-author ()

如果需要修改历史提交消息

git rebase -i HEAD~3

输出如下

pick commit 1
pick commit 2
pick commit 3
要修改哪个,就把那行的pick改为edit,然后退出。例如想修改commit 1的author,光标移到第一个pick,按i键进入INSERT模式,把pick改为edit:

edit commit 1
pick commit 2
pick commit 3

-- INSERT --
然后按esc键,退出INSERT模式,输入:wq退出,这时可以看到提示,可以修改commit 1的信息了:

输入amend命令重置用户信息:

git commit --amend --reset-author

会出现commit 1的提交记录及注释内容,可进入INSERT模式修改注释,:wq退出。

这时再查看提交历史,发现commit 1的author已经变成xxxx(xxxxx@email.com)了,且是最新一次记录。

通过continue命令回到正常状态:

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