博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git常用命令
阅读量:5377 次
发布时间:2019-06-15

本文共 3051 字,大约阅读时间需要 10 分钟。

1、初始化Git,如果没有初始化Git,那么就不能在该仓库内运行任何其他的Git命令

git init

2、远程仓库

  ① 如果你在使用GitHub,而且正在讲代码推送到在线存储的GitHub仓库中,那么你正在使用的就是远程仓库;

  ② 该远程仓库的默认名称(也成为别名)为origin;

  ③ 如果你已经从GitHub复制了一个项目,它就有了一个origin;

  ④ 使用命令  git remote -v  查看该origin,该命令将列出远程仓库的URL。

3、关联GitHub仓库

  ① 如果你初始化了自己的Git仓库,并希望将其与GitHub仓库相关联,则必须在GitHub上创建一个;

  ② 复制新仓库提供的URL,并使用   git remote add origin <URL>  命令,这里使用GitHub提供的URL替换  <URL>

  ③ 这样,你就可以添加、提交和推送更改到你的远程仓库了。

4、更改远程仓库   set-url  

  ① 如果你从其他人那里复制了一个仓库,并希望将远程仓库从  原始所有者  更改为  你自己的GitHub账户  ;

  ② 除了改用  set-url  来更改远程仓库外,流程与  git remote add origin  相同。

git remote -vgit remote add origin 
git remote set-url origin

5、复制仓库  git-clone <URL>  

  ① 如果你克隆了一个属于别人的仓库,你将无法推送到 GitHub,除非你使用了上面的命令改变了  origin。

git clone 

6、分支

  ① 列出本地机器上的所有分支。

git branch

  ② 创建分支

git branch 

  ③ 切换分支

git checkout 

  ④ 创建分支并切换

git checkout -b 

  ⑤ 合并分支

    a. 如果你在develop分支上进行了一系列更改后想将该分支合并回主分支(master);

    b.使用  git merge <branch>  命令:

      i. 你需要先检出 (checkout) 主分支

      ii. 然后运行  git merge develop  将  develop  合并到主分支中。

  ⑥ 更新分支

    a. 如果GitHub的仓库上已经更新了,但你的本地却没有做相应的更改,你可以使用  git pull origin <branch>  命令从远程分支中拉取最新的更改。

git pull origin 

6、查看更改及正在被跟踪的文件:  git status    

  如果您好奇地想看到哪些文件已经被更改以及哪些内存正在被跟踪,可以使用  git status  命令。如果要查看每个文件的更改,可以使用  git diff  来查看每个文件中更改的行。

git statusgit diff --stat

7、查看提交的历史记录

git log

8、回退到某个版本

  ① 你的提交会附带消息和一个哈希值,哈希值是一串包含数字和字母的随机序列,一个哈希值实例如下: c3d882aa1aa4e3d5f18b3890132670fbeac912f7 

  ② 如果你希望及时回退并从之前的提交中检出(checkout)你的应用程序,则可以使用该哈希作为分支名直接执行此操作。这将使你的应用程序与当前版本分离。

git checkout c3d882aa1aa4e3d5f18b3890132670fbeac912f7

  然后,如果你在那个历史分支中做了更改,并且想要再次推送,你必须使用强制推送。

  ③ 强制推送

    注意:强制推送是危险的,只有在绝对必要的时候才能执行它。它将覆盖你的应用程序的历史记录,你将失去之后版本的任何信息。

git push -f origin master

9、重新引用:多个提交合并到一个提交中  git rebase 

       在其他时候,将所有内容保留在一个提交中是不现实的。也行你想在尝试有潜在风险的操作之前保存当前进度,或者也许你犯了一个错误,但希望在你的版本历史中避免尴尬地留着这个错误。对此,我们有   git rebase  

  ① 假设你在本地历史记录上有 4 个提交(没有推送到 GitHub),你要回退这是个提交。你的提交记录看起来很乱很拖拉。这时你可以使用  rebase  将所有这些提交合并到一个简单的提交中。

git rebase -i HEAD~4

  上面的命令会打开你计算机的默认编辑器(默认为 Vim,除非你将默认修改为其他的),提供了几个你准备如何修改你的提交的选项。它看起来就像下面的代码:

1.  pick  130deo9 oldest commit message2.  pick  4209fei second oldest commit message3.  pick  4390gne third oldest commit message4.  pick  bmo0dne newest commit message

  为了合并这些提交,我们需要将 pick 选项修改为 fixup(如代码下面的文档所示),以将该提交合并并丢弃该提交消息。请注意,在 Vim 中,你需要按下 a 或 i 才能编辑文本,要保存退出,你需要按下 Esc 键,然后按 shift + z + z。不要问我为什么,它就是这样。

1.  pick  130deo9 oldest commit message2.  fixup  4209fei second oldest commit message3.  fixup  4390gne third oldest commit message4.  fixup  bmo0dne newest commit message

  ② 这将把你的所有提交合并到一个提交中,提交消息为  oldset commit message。

  ③ 下一步是重命名你的提交消息。这完全是一个建议的操作,但只要你一直遵循一致的模式,都可以做得很好。

  为了更改提交消息,请使用  amend  标志。

  这也会打开 Vim,文本编辑和保存规则如上所示。为了给出一个良好的提交消息的例子,下面是遵循该指南中规则的提交消息:

1.  feat: add stripe checkout button to     payments page2. 3.  - add stripe checkout button4.  - write tests for checkout

  保持指南中列出的类型type的一个优点是它使编写更改日志更加容易。你还可以在页脚footer(再次,在指南中规定的)中包含信息来引用问题issue。

  注意:如果你正在协作一个项目,并将代码推送到了 GitHub,你应该避免重新引用(rebase)并压缩(squash)你的提交。如果你开始在人们的眼皮子底下更改版本历史,那么你可能会遇到难以追踪的错误,从而给每个人都带来麻烦。

转载于:https://www.cnblogs.com/carriezhao/p/8378347.html

你可能感兴趣的文章
python序列化和json
查看>>
mongodb
查看>>
SSH-struts2的异常处理
查看>>
《30天自制操作系统》学习笔记--第14天
查看>>
LGPL协议的理解
查看>>
1、Python基础
查看>>
Unity The Tag Attribute Matching Rule
查看>>
试着理解下kvm
查看>>
WebService学习总结(二)--使用JDK开发WebService
查看>>
Tizen参考手机RD-210和RD-PQ
查看>>
竞价广告系统-位置拍卖理论
查看>>
策略模式 C#
查看>>
[模板]树状数组
查看>>
第四周作业
查看>>
线段重叠 (思维好题)
查看>>
软考知识点梳理--项目评估
查看>>
把特斯拉送上火星的程序员,马斯克!
查看>>
三测单
查看>>
MyBatis 缓存
查看>>
SQL中left outer join与inner join 混用时,SQL Server自动优化执行计划
查看>>