git用法总结

本文详细介绍了Git的基本操作流程,包括配置用户信息、初始化仓库、文件管理、提交、查看历史、远程仓库交互、冲突解决等,适合初学者快速掌握Git的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git状态图

1.配置用户和邮件(通过提交查找作者信息)     

git config --global user.email zzz@qq.com
git config --global user.name xxx

不加global参数只对该仓库有效,如

git config user.email zzz@qq.com
git config user.name xxx

2.建一个git工程
        git init


3.添加文件到暂存区
      git add filename(对于从没有add过的文件,该命令相当于将该文件添加到版本库)

      git add --all +路径 添加当前路径下的全部文件,包括已删除文件(如git add --all .)


4.提交暂存区的修改到版本库
         git commit -m "commit content"

5.查看某个提交id的内容
         git show commitid                               看提交的内容

        git show commitid --name-status看提交的文件


6.查看git提交历史

     git log
     git log -10 只看后面的10个提交
     git log --oneline 历史简短输出
     git log --name-status 查看修改的文件

7.查看仓库状态

           git status

   
8.更新远程分支并合并到本地分支
         git pull <远程主机名> <远程分支名>:<本地分支名>
         如git pull origin  xxxx:xxxxxxx
  

9.推送本地分支到远程分支
           git push <远程主机名> <本地分支名>:<远程分支名>
           如git push origin   xxxxx:xxxxxxxxx

10.剪切 某个 提交
                       git cherry-pick +commitid,就是将某个提交剪切到当前分支上。
       如果要剪切多个提交,可使用
                  git cherry-pick id1..id2(不包括id1)
                  git cherry-pick id1^..id2(包括id1)
 

11.git checkout
          用法1 切换到一个已经存在的本地分支
                            git checkout  xxxxx

         用法2 创建一个本地分支,并切换到该分支
                           git chekcout -b xxxxx

          用法3 创建一个本地分支(该分支跟远程分支xxxxxx一样),,并切换到该分支
                      g it checkout -b xxxx remote/xxxxxx

           用法4 将暂存区文件放回工作区
                      git checkout --  filename

          用法5将某个文件恢复到commit_id的状态,如

                 git checkout  commit_id path/file_name

12.撤销某个提交

              git revert commit_id

13.清除未加入git版本库的文件
                git clean -d -df,一切垃圾都一扫而空,但需要小心,没有记录的话,git也是恢复不了这些文件的。

14.补丁

                 生成补丁   git format-patch commit_id             commitid之后的提交按格式输出补丁(不包括commitid)

                  应用补丁   git am xxx.patch

                  假设生成了补丁xxx.patch,但由于冲突无法应用该补丁,可以对1.path进行文本编辑(删除冲突部分),冲突部分再手工合入

15.查看所有提交记录

           git reflog         

        
16.忽略某些不需要跟踪的文件

                 用法可见http://www.pfeng.org/archives/840
                 具体可参考内核源码的下的.gitignore文件
                 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/.gitignore?id=refs/tags/v4.5

17.git远程地址操作

           git remote -v 查看远程地址

           git remote add 标签 地址,git remote add qcom xxx@192.168.8.8:gitweb

            可使用这种方式,将另一个git仓库关联过来,使用git cherry-pick来打补丁。也就是两个独立的git仓库,通过git remote ,

git fetch,两个仓库进行了关联,可以剪切相应的提交。

      
18.图形化工具

               在Ubuntu上安装gitk的方法为
                sudo apt-get install gitk
                sudo apt-get install meld

19.git官网
           http://git-scm.com/ 

20.git的嵌套
              参考https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97

21.git冲突解决

both  modified  当前分支和补丁都有修改

deleted  by us:当前该文件已被删除,但补丁有该文件的修改,因为文件被删,该补丁无法正常合入

deleted by them:当前分支该文件有修改,但补丁中删除了该文件,git不知要不要保留该文件的修改

git checkout xxxxx  --ours  拿当前分支的文件

git checkout xxxxx --theirs 拿剪切或者其他分支的文件

22.配置别名

git config --global alias.st status
git config --global alias.ch checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline"

23.更新仓库

git fetch //更新本地仓库(从远程仓库)

git  fetch -p  //更新本地仓库(从远程仓库,远程仓库删除分支本地同步删除)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值