Git常用命令总结,不定期更新

关于Git是什么,或者一些使用Git项目的我就不说了,只说一下简单的命令和我常用的到东西,建议先敲命令再用可视化工具

1. 常用命令

  • git init 会生成.git文件

  • git remote add origin https://xxxxxxx.git 将本地git关联到远程中央库

  • git add 后缀文件名可以指定添加某些文件到暂存区,或者后缀--all/.可以将当前管理文件下的所有改动文件添加

  • git commit提交暂存区内更改,在这之后需要填写提交日志,也可以直接在后面追加-m "[message]"合并操作

  • git push origin [branch-name] -f强制推送分支,用于已知的冲突的情况下,一般在公司不建议这样用

  • git branch 查看本地仓库,后缀加-a可以查看本地和远程branch

  • git branch [branch-name] 创建分支,但是并没有切换到该分支.

  • git checkout [branch-name]切换到指定分支,在checkout后追加-b会创建分支并切换

  • git push将本地推送到远程,如果本地是本地新建的分支需要建立推送关系,追加--set-upstream origin [origin-branch-name]

  • git pull将远程拉取到本地

  • git merge [branch-name]将指定分支合并到当前分支,如果发生冲突需要先解决相关冲突进行更改

  • git merge --abort终止当前merge操作,这样就可以重新进行合并操作

上述是正常的操作命令,下面是关于一些关于删除和撤销的命令.

2. 删除命令

  • git branch -d [branch-name]删除指定分支-------当前操作的branch不能进行删除操作,如果要删除的分支没有向master分支进行合并,那么强制删除是需要将-d更换成-D,这里需要多一句,本身branch就是一个引用,删除的只是引用,并不是真正的删除,Git的自动将回收机制会在一定时间内回收.所以branch是可以恢复的,但是一定要是在Git没有回收之前.

  • git push origin :[branch-name]删除远程分支-------这个并不是真正的删除远程,只是推送了一个空的分支,看着就像删除了一样.主要origin后面一定要有一个空格

3. 撤销命令

  • git reset --hard HEAD^撤销最新一次的提交------当然也可以撤销之前很多的次的提交只需要更改HEAD后面的^的个数或者直接HEAD~n(n>=1),reset后面有三个后缀,--hard重置commit,并清空所有操作;

  • git rebase -i HEAD~n撤销指定位置的commit------在这之后会弹出对应的操作框,你需要将你将你要撤销的commit整行删除然后保存退出就可以了

  • git rebase --onto [目标commit] [起点commit] [终点commit]撤销指定位置的commit-----和上面的效果是一样的,解释下参数,第一个可以理解为你要撤销的前一个,第二个可以理解为你要撤销的那个,第三个一般写当前分支的名字(其实也就是最新的commit)

  • git revert HEAD^倒置最新一个commit的所有内容------可用于已经将commit推送的远端的情况.

  • git rm -r --cached [file_name/.]取消git对于某个文件进行跟踪,该操作并不会真实的产出本地文件,如需删除需要将 --cached更换为–f

4. 其他命令

  • git checkout XXX+git checkout -b [branch-name]这样就可以恢复指定分支,XXX是通过git reflog找到的sha-1值找你删除前的最后一次操作,一般都是moving from [del-branch-name] to master,这个就要看你找的对不对了.还有一个特殊情况就是log已经被删除了或者引用呗回收那就无力回天了(反正我是不知道怎么恢复,有大佬,请留言).

  • git stash+git stash pop这个是一个小技巧吧,就是将当前工作目录的改动藏匿起来.场景就是在你正在写什么东西的时候老板来一句:给我把那个什么给我打个包.呵呵哒!!!然后我们add-commit-checkout-打包-reset-继续写代码,这尴尬了!有了这个就可以stash-checkout-打包-stash pop-继续写代码.reset是有风险的,玩不好就炸了.不要问我为什么!!!

  • git tag默认展示该分支下tag标签新

  • git tag -a [version-name] -m "[tag-desc]"给当前分之增加tag

5. Git忽略文件

不要小看.gitignore文件的作用 !!!

它可以帮你在提交的时候省去很多麻烦,所以在写的时候可以仔细想一想再写.

当然如果你刚开是没想好,后面想不上,只是单纯的补一个文件路径上去是不行的,需要删除git的跟踪.

  • 命令如下

git rm -r --cached [file_name/.]

git add .

git commit -m "xxx"(建议使用git commit 写个详细的commit msg)

git push

总结一下,关于上面写的命令都是可以自己去git --help看看,看懂了加上一些其他Git文章的辅助,命令行就会写的很有底气了.

猜你喜欢

转载自blog.csdn.net/xiangnicao/article/details/78719311
今日推荐