git 常用命令

1、删除远程库

使用命令git remote rm name (解除了本地与远程的绑定关系,并不是物理上删除了远程库)
使用前建议使用 git remote -v 查看远程库信息

2、分支管理

查看分支

使用命令git branch 可以查看所有分支,当前分支前面会有(*),操作如下:

$ git branch
  dev
  hotfix
* master

创建分支

使用命令git branch branch-name可以用来创建一条分支,操作如下:

$ git branch feature
$ git branch
  dev
  feature     // 新创建分支
  hotfix
* master

切换分支

使用命令git checkout branch-name或者git switch -c branch-name (新版本git提供) 可以用来切换分支,操作如下:

$ git checkout dev
Switched to branch 'dev'
$ git branch 
* dev
  feature
  hotfix
  master

创建并切换分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev
$ git checkout dev
Switched to branch  'dev'

使用命令git checkout -b branch-name 或者 git switch -c branch-name (新版本的git提供)

查看提交历史

1)git log ---- 按时间顺序列出所有的提交
在这里插入图片描述
2) git log -p或者 git log --patch :会显示每次提交所引入的差异,也可以限制显示的日志条目数量,使用 -2选项来只显示最近的两次提交
在这里插入图片描述
3) git log --stat :在每次提交的下面列出所有被修改过的文件、有多少文件被修改以及被修改过的文件哪些行被添加或是移除
![](https://img-blog.csdnimg.cn/20210514164356961.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hKYXlfQ2hvdQ==,size_16,color_FFFFFF,t_70
4) git log --graph --pretty=oneline --abbrev-commit
--graph:在日志旁以 ASCII 图形显示分支合并图。
在这里插入图片描述

bug分支

git stash:将当前工作现场“储藏”起来,等bug修复之后恢复现场继续工作(在git stash之前一定要用git status确认没有Untracked files(未被追踪的文件(没有git add过))
1)例如:你正在dev分支上开发,发现之前完成某部分的项目存在bug,这时候你dev分支上还没有完成的代码还没有办法提交,这时候你可以使用git stash先将当前dev上开发的代码先隐藏起来,去修改bug

$ git stash
Saved working directory and index state WIP on dev: e843901 graph

现在使用git status查看工作区,就是干净的

2)这时候你需要的bug已经修改完成,已经提交完成了,这时候你需要找到你刚才‘隐藏’的代码继续开发,这时候你怎么找到刚才git stash隐藏的代码呢?,不要着急,Git提供了git stash list命令,可以解决你的疑惑,咱们接着往下看:

$ git stash list
stash@{0}: WIP on dev: e843901 graph

3)恢复工作现场
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
另一种方式是用git stash pop,恢复的同时把stash内容也删了(看不见stash@{0}: WIP on dev: e843901 graph
可以多次stash,恢复的时候,先用git stash list 查看,然后恢复指定的stash,使用命令

$ git stash apply stash@{0} (使用git stash drop stash@{0}删除stash内容)
或者
$ git stash pop stash@{0}

将指定的提交应用到其他分支

git cherry-pick <分支名> :将该分支的最近一次提交应用到当前分支

查看工作区的状态

使用git status命令可以查看工作区的状态,如果git status告诉你有文件修改过,可以使用git diff查看修改内容
在这里插入图片描述
在这里插入图片描述

3、版本回退

在Git中,HEAD表示当前版本,也就是最新提交的,上一个版本是HEAD^,上上个版本是HEAD^^,往上100个版本可以写成HEAD~100
现在,我们要把当前版本回退到上一个版本,可以使用命令:git reset --hard HEAD^

如果想要回到未来的某个版本,怎么办?
如果命令窗口没有被关闭,就可以往上找,找到你想要回到的版本的commit_id,然后就可以使用命令:
git reset --hard <commit_id>(版本号没必要写全,前几位就可以了)

现在如果你版本回退到了某个版本,关闭了电脑下班回家,第二天早上你后悔了,命令窗口已经关闭,你找不到commit_id了怎么办?
这时候需要冷静,不要慌,吃口(后悔)药,Git提供了git reflog用来记录你的每一次命令

在这里插入图片描述

4、撤销修改

git checkout -- <filename>可以丢弃工作区的修改
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
1)readme.txt文件自修改后没有放到暂存区(也就是还没有git add过),现在,撤销修改就回到了和版本库一摸一样状态;
2)readme.txt已经添加到暂存区了,这时又作了修改,现在,撤销修改就回到了添加到暂存区的状态
总之,就是让readme.txt文件回到最近一次git commit或git add时的状态

如果该文件已经git add暂存区了,但是并没有git commit提交:
Git提供了命令:git reset HEAD <filename> 可以把暂存区的修改撤销掉,重新放回到工作区

5、删除文件

1)如果确实需要从版本库中删除文件,可以使用命令git rm <filename>,然后git commit
2)如果删错了文件,手动不小心删除了某些文件,这时候版本库中还存在这些文件,可以使用命令git checkout -- <filename> 还原

注意⚠️:命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是需要小心,你只能恢复文件到最新版本,你会丢失最后一次提交后你修改的内容

6、多人协作的工作模式

1)首先,可以试图用git push origin <branch-name>推送自己的修改
2)如果推送失败,则因为远程分支比你本地的分支更新,需要先使用git pull命令试图合并
3)如果合并有冲突,则解决冲突后在本地提交
4)如何没有冲突或者解决冲突后,再用git push origin <branch-name> 推送就能成功
注:如果git pull 提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令
git branch --set-upstream-to <branch-name> origin/<branch-name>

小结:在本地创建与远程分支对应的分支,使用命令:git checkout -b branch-name origin/branch-name

7、区别理解

git merge origin master :将origin merge 到master上
git merge origin/master :将origin上的 master分支 merge到当前分支
git push origin dev:master :将local repository(本地仓库)中名字为dev的分支的内容推送到romote repository(远程存储库)中名称为master的分支

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值