Git学习笔记

git学习笔记

之前使用Git,都是使用SourceTree。因为SourceTree升级到一个版本,提交代码更新代码都非常慢。
后来尝试使用命令行,记录一下学习内容。

Git命令总结

1. 初始化一个Git仓库

[git init命令]
git新建一个空的仓库,当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库。

2. 将文件添加到仓库

[git add命令]
git add readme.txt 将readme.txt文件添加到仓库

3. 把文件提交到仓库

[git commit命令]
git commit -m “提交readme.txt”
说明: -m 后面输入本次提交的说明,可以输入任意内容

4. 新建分支

[git branch ]
新建本地分支,但目前依旧在原来分支

5. 切换分支

[git checkout v2.2.0]
切换分支到v2.2.0

6. 查看分支

[git branch -a]
查看本地和远程所有分支

[git branch -r]
查看远程所有分支

[git branch]
查看本地所有分支

7. 删除分支

[git branch -d ]
删除本地分支

[git branch -d -r ]
删除远程分支,其中为本地分支名,删除后,还要推送到服务器上才行,即git push origin :

8. 查看远程仓库

[git remote]
如果想查看已经配置的远程仓库服务器,可以运行git remote命令。

[git remote -v]
指定选项-v,会显示需要读写远程仓库使用的Git保存的简写与其对应的URL。

9. 查看仓库当前状态

[git status]
查看当前仓库状态

10. 查看历史记录

[git log命令]
查看git提交记录,包括commit id,Author,Date等信息。如果想退出,可点击Q。

11. 查看修改内容

[git diff命令]
git diff readme.txt
查看readme.txt修改内容

12. 回到上一个版本

[git reset命令]
git reset --hard HEAD^

  1. git cherry-pick

git cherry-pick 可以对某个分支中一个或几个commts进行操作。
git cherry-pick
例如:git cherry-pick 27f684f
执行完cherry-pick,将会生成一个新的commit,这个新的提交的哈希值和原来的不同,但标识名是一样的。
如果顺利,就会正常提交。
如果在cherry-pick的过程中出现了冲突,手动解决冲突。

  1. 如何查看commit id和 short commit id?

获取完整commit id(如:27f684f3e9926d16f0fca097addb568d5d5f7c46)
git rev-parse HEAD
获取short commit id(如:27f684f)
git rev-parse --short HEAD

  1. 查看git提交状态

[git status]
查看git提交状态(也可以查看哪些文件出现冲突)

  1. 本地修改的文件提交到git仓库需要哪几个命令?
  1. git add 命令
  2. git commit -m ‘提交文件描述’
  3. git push -u origin master
  1. modified文件如何回滚到修改前?
例子:通过git status命令查看,如下:
modified : .android/Flutter/build.gradle
命令如下:git checkout -- .android/Flutter/build.gradle
【说明】将.android/Flutter/build.gradle文件revert到修改前
  1. 如何通过git命令将未跟踪的修改文件删除?
例子:通过git status命令查看日志,如下:
untracked files:
(use "git add <file>..." to include in what will be commited)
.android/Flutter/src/main/java/io/flutter/
执行命令:git clean fd
【说明】连untracked 的目录也一起删除
  1. git push提交失败,错误提示’remote: HTTP Basic: Access denied’

1、输入命令:git config --system --unset credential.helper重置账号和密码;
2、执行git push推送代码;
参考:https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication

  1. 回滚代码操作步骤(谨慎操作)
  1. 首先,git pull/git fetch获取最新代码;
  2. 选择git提交记录的上一条记录,点击Reset Current Branch To Here;【注意不要选择自己提交的上一条记录,这样容易将其他人提交的记录也回滚了】
  3. git push --force 强制提交
  4. 修改一个文件,然后push到远程仓库,就回滚到上一次提交了。
  1. git patch命令

git patch 将提交打成一个包
命令如下:
git format-patch commit id (commit id是git 提交的commit id),在git目录生成了.patch文件,打开可查看本地commit修改之处。

  1. git commit撤销

git commit撤销命令

  1. git shelve changes

最近使用Android Studio发现了一个Shelves Changes…,将修改文件暂存在Shelf选项,在Shelf选项选择一条Changelist,执行Unshelve命令,可以将文件释放放到Local Changes选项中。

参考:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000
https://gist.github.com/guweigang/9848271

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值