前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git常用命令

Git常用命令

作者头像
可定
发布2020-04-20 14:48:53
5940
发布2020-04-20 14:48:53
举报
文章被收录于专栏:细嗅蔷薇细嗅蔷薇

1、创建一个空文件夹后,再创建仓库

$ git init

2、把文件添加到仓库中,并提交

git add readme.txt git commit -m "wrote a readme file"

3、查看结果

$ git status

4、查看变更之处

$ git diff

5、查看历史记录

$ git log

$ git log --pretty=oneline

6、回退至上一版本

$ git reset --hard HEAD^

回退至前一个版本

$ git reset --hard HEAD^^

回退至之前第一百个版本

$ git reset --hard HEAD~100

7、回到未来的某一版本

$ git reset --hard 1094a(版本号)

8、查找所有的版本号

$ git reflog

9、放弃工作区的修改

$ git checkout --readme.txt

(这里的--如果去掉,则语句为切换到另一个分支)

10、撤销暂存区的修改(unstage)

$ git reset HEAD readme.txt

11、工作区删除文件后(有两个选择)

从版本库中删除文件,并提交

代码语言:javascript
复制
$ git rm test.txt
$ git commit -m "remove test.txt"

或者

把版本库还存在的文件还原回去

$ git checkout --readme.txt

注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!

12、在电脑上创建SSH私钥和公钥

$ ssh-keygen -t rsa -C "youremail@example.com"

13、在GitHub或码云创建仓库后,在本地操作

代码语言:javascript
复制
$ git remote add origin git@github.com:Ted-Wnag/learngit.git
$ git push -u origin master

Ted-Wnag为GitHub账户名。

learngit为远程仓库名称,本地名称可与远程仓库名称不一样。

master为分支名称。

14、从远程clone一个远程库至本地

$ git clone git@github.com:Ted-Wnag/learngit.git

注意当前目录是否为自己想放置远程库的目录

15、创建dev分支并切换

代码语言:javascript
复制
$ git checkout -b dev

代码语言:javascript
复制
$ git branch dev
$ git checkout dev

16、查看分支

$ git branch

17、从dev分支切换回master分支

$ git checkout master

18、dev和master分支合并

$ git merge dev

此处注意有两种合并模式,Fast-forward模式和和普通模式(--no-ff)

也可指定--no-ff强制为普通模式

$ git merge --no-ff -m "merged bug fix 101" issue-101

19、删除分支

$ git branch -d dev

20、解除冲突时用git status可查看,同时可查看冲突文件内容,解决冲突后可用带参数的git log查看分支合并情况

$ git log --graph --pretty=oneline --abbrev-commit

(git log --graph即可查看分支合并图)

21、分支策略

master应该是特别稳定,仅用来发布新版本,而dev用来干活

22、突然需要解决其他任务/Bug,想储藏当前工作现场

$ git stash

23、查看工作现场

$ git stash list

24、恢复有且仅有一个的工作现场

$ git stash apply

只是恢复,如果需要删除stash内容,还需要执行

$ git stash drop

恢复同时并把stash内容删除

$ git stash pop

25、恢复多个中的一个工作现场

在此之前应该先用

$ git stash list

查看工作现场

$ git stash apply stash@{0}

26、强行删除某一分支

$ git branch -D feature-vulcan

27、查看远程库信息

$ git remote

更详细的

$ git remote -v

28、推送分支

$ git push origin master

$ git push origin dev

29、多人协作若别人已经推送到远程的dev分支,此时你是推送不上去的

git pull后发现还是失败,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接

$ git branch --set-upstream-to=origin/dev dev

git pull,pull后成功。但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push。

因此,多人协作的工作模式通常是这样:

首先,可以试图用git push origin 推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。

30、rebase(变基,即扁平化)

$ git rebase

rebase操作可以把本地未push的分叉提交历史整理成直线

rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比

31、创建标签

先切换到想切换的分支后再创建

$ git tag v1.0

32、查看所有标签

$ git tag

标签是按字母排序

注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

33、对某一commit id(版本号)打上标签

在此之前先

$ git log --pretty=oneline --abbrev-commit

$ git tag v1.0 f52c633

34、创建带有说明的标签

$ git tag -a v1.0 -m "version 1.0 released" 1094adb

35、查看标签对应点额说明文字

$ git show v1.0

36、删除标签

$ git tag -d v1.0

37、推送某个标签到远程

$ git push origin v1.0

38、一次性推送全部尚未推送到远程的本地标签

$ git push origin --tags

39、删除远程的标签

需要先删除本地的

$ git tag -d v1.0

$ git push origin :refs/tags/v1.0

40、将某一仓库既关联到github,又关联到码云上

先删除已关联的名为origin的远程库

$ git remote rm origin

关联GitHub的远程库

git remote add github git@github.com:Ted-Wnag/learngit.git

再关联码云的远程库

git remote add gitee git@gitee.com:Ted-Wnag/learngit.git

此时可用git remote -v查看远程库信息,可以看到两个远程库

git remote -v

41、让Git Bash显示颜色

$ git config --global color.ui true

42、忽略特殊文件

.gitignore文件(不需要文件名,不要Win资源管理器新建,而是用文本编辑器)

代码语言:javascript
复制
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa

另外,有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了

比如:$ git add App.class

如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f App.class

若.gitignore可能写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查

$ git check-ignore -v App.class

43、配置别名

$ git config --global alias.st status

敲入git st试试

lg配置成了:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

44、配置文件

配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用

每个仓库的Git配置文件都放在.git/config文件中

而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:

配置别名错了可以在配置文件改。


根据廖雪峰老师的Git教程所写,其教程地址如下

Git教程 - 廖雪峰的官方网站

版权所有:可定博客 © WNAG.COM.CN

本文标题:《Git常用命令》

本文链接:https://cloud.tencent.com/developer/article/1616862

特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、创建一个空文件夹后,再创建仓库
  • 2、把文件添加到仓库中,并提交
  • 3、查看结果
  • 4、查看变更之处
  • 5、查看历史记录
  • 6、回退至上一版本
  • 7、回到未来的某一版本
  • 8、查找所有的版本号
  • 9、放弃工作区的修改
  • 10、撤销暂存区的修改(unstage)
  • 11、工作区删除文件后(有两个选择)
  • 12、在电脑上创建SSH私钥和公钥
  • 13、在GitHub或码云创建仓库后,在本地操作
  • 14、从远程clone一个远程库至本地
  • 15、创建dev分支并切换
  • 16、查看分支
  • 17、从dev分支切换回master分支
  • 18、dev和master分支合并
  • 19、删除分支
  • 20、解除冲突时用git status可查看,同时可查看冲突文件内容,解决冲突后可用带参数的git log查看分支合并情况
  • 21、分支策略
  • 22、突然需要解决其他任务/Bug,想储藏当前工作现场
  • 23、查看工作现场
  • 24、恢复有且仅有一个的工作现场
  • 25、恢复多个中的一个工作现场
  • 26、强行删除某一分支
  • 27、查看远程库信息
  • 28、推送分支
  • 29、多人协作若别人已经推送到远程的dev分支,此时你是推送不上去的
  • 30、rebase(变基,即扁平化)
  • 31、创建标签
  • 32、查看所有标签
  • 33、对某一commit id(版本号)打上标签
  • 34、创建带有说明的标签
  • 35、查看标签对应点额说明文字
  • 36、删除标签
  • 37、推送某个标签到远程
  • 38、一次性推送全部尚未推送到远程的本地标签
  • 39、删除远程的标签
  • 40、将某一仓库既关联到github,又关联到码云上
  • 41、让Git Bash显示颜色
  • 42、忽略特殊文件
  • 43、配置别名
  • 44、配置文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档