Git学习笔记

git学习笔记

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

Git命令总结

初始化一个Git仓库

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

将文件添加到仓库

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

**把文件提交到仓库 **

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

**新建分支 **

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

**切换分支 **

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

**查看分支 **

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

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

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

**删除分支 **

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

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

**查看远程仓库 **

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

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

**查看仓库当前状态 **

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

**查看历史记录 **

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

**查看修改内容 **

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

**回到上一个版本 **

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

git cherry-pick

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

如何查看commit id和 short commit id?

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

查看git提交状态

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

本地修改的文件提交到git仓库需要哪几个命令?

  1. git add 命令
  2. git commit -m ‘提交文件描述’
  3. git push -u origin master

modified文件如何回滚到修改前?

例子:通过git status命令查看,如下:
modified : .android/Flutter/build.gradle
命令如下:git checkout -- .android/Flutter/build.gradle
【说明】将.android/Flutter/build.gradle文件revert到修改前

如何通过git命令将未跟踪的修改文件删除?

例子:通过git status命令查看日志,如下:
untracked files:
(use "git add ..." to include in what will be commited)
.android/Flutter/src/main/java/io/flutter/
执行命令:git clean fd
【说明】连untracked 的目录也一起删除

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. 首先,git pull/git fetch获取最新代码;
  2. 选择git提交记录的上一条记录,点击Reset Current Branch To Here;【注意不要选择自己提交的上一条记录,这样容易将其他人提交的记录也回滚了】
  3. git push --force 强制提交
  4. 修改一个文件,然后push到远程仓库,就回滚到上一次提交了。

git patch命令

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

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

你可能感兴趣的:(android基础)