专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

git常用命令大全

git config –global core.email “xufeng.zhang@10.4.29.111” 指定全局邮箱(当前用户)

git config –global core.editor vim 指定全局的编辑器为vim

git config –global alias.co checkout

git config –global alias.br branch

git config –global alias.ci commit

git config –global alias.st status

git config –list

git diff README.md 列出当前文件的未跟踪版本与最近一次添加到版本库的版本的区别

git diff –staged README.md 列出已暂存版本与最近一次添加到版本库的版本的区别

git commit 会进入vim模式,用户可在里面输入此次提交的内容信息,并且注释部分列出了上次git status的信息,保存退出后注释部分不会被提交

git commit -m “信息” 输入此次提交的信息

git commit -a -m “信息” 不使用git add,直接一次性将上次跟踪的文件提交到版本库

git rm test.txt 将test.txt文件移除,该文件不能为被修改未暂存或已暂存的文件

git rm –cached test.txt 将test.txt从暂存中移除,并且将其从版本库中移除使其成为一个未跟踪的文件,但是本地文件未被删除

git rm -f test.txt 将test.txt强制从版本库和暂存中移除,并且将删除这个动作暂存起来(即git add之后),只有在commit之后才完全删除

                  对于处于删除的处于暂存状态的文件,首先使用git reset HEAD test.txt,然后使用git checkout -- test.txt则可以恢复最近一次跟踪的状态

git mv test.txt readme.txt 修改test.txt文件的名称为readme.txt

git log -p 显示每次修改提交文件的差异

git log -1 显示最新一次修改提交的文件的差异

git log –pretty=oneline 简化日志,只显示一行

git log –pretty=short 以简短的形式显示日志

git log –pretty=full 以正常版显示日志

git log –pretty=fuller 显示完整版的日志,其中包括文件的修改变化部分

git log –author=张旭峰 显示作者为张旭峰的提交

git log –grep=测试 显示说明中包含测试的提交

git log –since=2.weeks 显示指定时间之后的提交(2周以前)

git log –after=2.weeks 同since

git log –until=”2016-11-04″ 截止到2016-11-04之前的日志

git log –before=”2016-11-04″ 同until

git log –committer=张旭峰 提交者为张旭峰的日志

git commit –amend 将当前暂存区域的文件提交并与上一次提交合并,并且将此次提交的说明替换上次提交的说明

                  需要注意,如果上次提交之后修改了文件,并将其添加到了暂存区,那么其也会被一起合并到上次提交

git reset HEAD test.txt 将test.txt取消暂存,并且如果未暂存区域的该文件有修改,就以未暂存区域的该文件为准

git checkout — test.txt 对于已修改未暂存的文件,将其回滚到最近一次提交时的状态

git remote 查看当前配置了哪些远程仓库,默认的远程仓库为origin

git remote -v 查看当前配置了哪些远程仓库,并且带上仓库地址

git remote add xufeng git://oschina.net/xufeng.git 在添加一个名为xufeng的远程仓库

git fetch 从远程拉取代码到本地,但是不会自动合并当前分支

git pull 从远程拉取代码到本地,但是会将当前分支代码自动合并

git push [remote-name] [branch-name] 将当前代码推送到指定仓库的指定分支

git remote show [remote-name] 显示远程某个分支的详细信息,主要包含远程的分支和本地的分支,以及本地与远程分支的对应信息

git remote rename orgName newName 重命名远程的仓库名

git tag 显示所有的标签

git tag -l v1.0.* 显示标签名前缀为v1.0.的标签

git tag -a v1.0.0 -m “初始版本” 创建一个名为v1.0.0的tag

git show v1.0.0 显示v1.0.0的标签内容,其中包含各个提交的详细信息

git tag -s v1.0.0 -m “签署标签” 当拥有自己的私钥时签署GPG标签的命令

git tav -v v1.0.0 验证签署标签

git tag v1.0.0 创建一个轻量级标签v1.0.0

git tag v1.0.0 b260b7f1f83437f6a07ac177908f36734484d5b5 -m “初次提交” 在指定的提交处创建tag,并添加描述信息

git push origin [tagname] 将指定标签名的标签推送到服务器上去,默认情况下标签是不会推送到服务器上的

git push origin –tag 将本地所有的标签都推送到服务器上

git branch testing 创建一个testing分支

git checkout testing 切换到testing分支

git checkout -b testing 创建testing分支并切换到该分支

git merge testing 将testing分支的代码合并到当前分支,如果合并过程产生冲突,那么冲突标记的上半部分(HEAD部分)表示你当前所处的分支的代码

                 下半部分表示你合并过来的分支的代码

git branch -d testing 删除testing分支,注意这里需要当前分支已经完全merge了testing分支

git branch -D testing 删除testing分支,无论testing分支是否有内容未合并到当前分支

git branch -v 显示当前所有的分支,并且显示相应的最新的提交信息

git branch –merge 查看哪些分支并入到了当前分支,即哪些分支是当前分支的直接上游

git branch –no-merge 查看哪些分支还未并入到当前分支

git checkout -b [分支名] [远程名]/[分支名] 创建一个分支并切换到该分支,将该分支与指定的远程分支对应起来

git checkout –track [远程名]/[分支名] 创建一个与指定远程分支同名的分支,切换到该分支,并将该分支与远程分支对应起来

git push [远程名] :[分支名] 删除指定的远程分支,这里注意在冒号前面有一个空格

git fetch origin 将远程的当前分支拉下来,但是并未合到本地的当前分支中,该命令一般和下面一条命令合用

git merge origin/serverfix 将(拉下来的)本地的serverfix分支合到当前分支

git checkout –track origin/serverfix 在本地创建serverfix分支,并将其与远程的serverfix分支关联起来

git push –set-upstream origin test 将当前分支指定与远程的origin/test分支关联起来

git merge test 将test分支与当前分支合并,其合并原理是找到当前分支和test的共同祖先,并且将当前分支,test分支以及共同祖先进行简单的三方合并

git rebase master 将当前分支合并到master分支,其合并原理是将当前分支打一个补丁,并且在当前分支和master分支的共同祖先去往master的线路的第一个节点(共同祖先的下一个节点)处将打的当前分支的补丁补进去,并且去>往master分支的后续节点都会应用该补丁,直到补到master所在的节点,其结果就是在master的下游直接产生了一个节点,最后再回到master分支将rebase的分支合并过来。这样做的目的主要是为rebase的分支产生更加清晰的提交记录

git rebase –onto master server client 取出client分支,找出client分支和server分支的共同祖先之后的变化,然后把它们在master上重演一遍(重演之后需要执行git checkout master和git merge client才能将重演之后的代码

合并到master分支)

git rebase [主分支] [特性分支] 如git rebase master server,将server分支在master分支上进行重演

说明:衍合操作只能在你本地所独有的分支上进行,因为如果分支一旦出去,比如远程有两个分支,另外有人在其中一个分支上工作,而此时你又把该分支给衍合到了主干分支,那么在该分支上工作的人最后提交代码时也不得不进行

一次衍合操作

文章永久链接:https://tech.souyunku.com/41706

未经允许不得转载:搜云库技术团队 » git常用命令大全

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们