git常用命令和问题总结

本文详细介绍了Git的各种常用命令,包括用户配置、仓库操作、版本控制、合并分支、解决冲突、更新代码等核心操作。同时,还解答了如何修改提交commit的作者以及如何在提交记录中生成Change-Id。内容适用于Git初学者和日常开发工作。
摘要由CSDN通过智能技术生成

git常用命令:

1. 用户配置:

    git config --global user.name "xxx"

    git config --global user.email xxx@163.com

2. 查看某个命令文档:

    git help <command>

    git <command> -h

    git <command> --help

3. 仓库操作:

     创建代码目录后,初始化、生成.git文件(若该文件隐藏,则使用ls -ah):git init 

    下载代码:git clone url

     查看本地分支修改状态:git status

     创建SSH Key: ssh-keygen -t rsa -C "xxx@163.com"

4. 把文件添加add和提交commit到版本库:

    查看修改内容:git diff //全部查看;git diff xx.c //查看某个文件

    添加要提交的某个文件:git add xx.c

    添加当前本地仓库所有修改变化:git add -A

    提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件:git add .

    提交被修改(modified)和被删除(deleted)文件,不包括新文件(new):git add -u

    添加commit:git commit -s

    重新修改代码后修改commit:  git commit --amend

    提交:git commit -m "说明" 

5. 查看远程分支,远程分支一般会用红色标示出来:git branch -a

6. 创建本地分支,并切换到本地分支上,同时将本地分支和远程分支进行关联:

    git checkout -b 本地分支 origin/远程分支名

7.版本控制:

  查看提交历史:git log、git log --oneline、git log --pretty=oneline

  查看每一次修改历史: git reflog 

  回退到当前版本,HEAD指向当前版本: git reset --hard HEAD

  回退到上一个版本: git reset --hard HEAD^ 

  回退到上两个版本:git reset --hard HEAD~2

  恢复到指定版本:git reset --hard commit-id

8. 对某个文件的操作:

   撤销某个文件的修改:git checkout test.txt 

   丢弃暂存区的修改(若已提交,则回退): git reset HEAD test.txt 

   删除文件:git rm test.txt

9. 提交代码:

    将本地内容推送到远程仓库(第一次):git push -u origin master 

    将本地内容推送到远程仓库(之后):git push origin master 

    查看远程仓库信息:git remote -v   

    repo提交代码:git push repo HEAD:refs/for/master(或分支名)

    git提交代码:git push origin HEAD:refs/for/master(或分支名)

10. 缓存修改:

     暂存本地修改:git stash

     恢复:git stash apply

11. 应用patch 和 diff

     保存本地修改到diff文件:git diff (可加某个文件名) > xx.diff、git diff 【commit1】【commit2】 > 【diff文件名】

     把提交的commit保存成.patch文件:git format-patch -1(n)

     某两个commit之间的patch打成.patch文件:git format-patch 【commit id1】..【commit id 2】

     检查patch/diff是否能正常打入:

          git apply --check 【path/to/xxx.patch】

          git apply --check 【path/to/xxx.diff】

     打入patch/diff:

         git apply 【path/to/xxx.patch】

         git apply 【path/to/xxx.diff】

     或者

         git  am 【path/to/xxx.patch】

12. 解决冲突:

      1) 此时需要解决冲突: 1、首先使用 以下命令行,自动合入 patch 中不冲突的代码改动,同时保留冲突的部分:git apply --reject 0001-draft-patch.patch

       2) git status后解决有.rej后缀的文件冲突:*.rej 文件内容逐个手动解决冲突,然后删除这些 *.rej 文件,然后git add .

       3) 接着执行git am --resolved或者git am --continue

13. 更新本地代码:

      git fetch、git rebase origin/branch名或者git rebase repo/branch名;

      git pull;

14. 合并多个 Commit

     [Git] 两种方法合并多个commit为一个_Spade_的博客-CSDN博客_git多个commit合并一个

常见问题Q&A:

1. 如何修改提交commit的作者

    git commit --amend --author='account <account@xxx.com>'

2. 提交记录没有change-id:

    检查仓储 .git/hooks 下面是否有 commit-msg 文件,如果没有可以到下面的地址下载,或者拷贝一个commit-msg文件到.git/hooks下,然后重新git commit --amend即可。

http://review.cyanogenmod.org/tools/hooks/commit-msg
https://gerrit-review.googlesource.com/tools/hooks/commit-msg

    添加后,每次执行git commit 都会自动在git log里面生成 Change-Id,用于gerrit code review。

    注意:下载commit-msg需要设置执行权限:#chmod a+x .git/hook/commit-msg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值