• git常用命令


    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 -v
    git remote add origin <url>
    git remote set-url origin <url>
    

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

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

    git clone <url>
    

    6、分支

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

    git branch
    

      ② 创建分支

    git branch <name>
    

      ③ 切换分支

    git checkout <name>
    

      ④ 创建分支并切换

    git checkout -b <name>
    

      ⑤ 合并分支

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

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

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

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

      ⑥ 更新分支

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

    git pull origin <branch>
    

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

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

    git status
    git 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 message
    2.  pick  4209fei second oldest commit message
    3.  pick  4390gne third oldest commit message
    4.  pick  bmo0dne newest commit message
    

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

    1.  pick  130deo9 oldest commit message
    2.  fixup  4209fei second oldest commit message
    3.  fixup  4390gne third oldest commit message
    4.  fixup  bmo0dne newest commit message
    

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

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

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

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

    1.  feat: add stripe checkout button to
         payments page
    2. 
    3.  - add stripe checkout button
    4.  - write tests for checkout
    

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

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

  • 相关阅读:
    Hackerrank alien-flowers(数学公式)
    Hackerrank manasa-and-combinatorics(数学推导)
    Codeforces 314B(倍增)
    Codeforces Round #403(div 2)
    Mutual Training for Wannafly Union #6
    几道splay
    高数(A)下 第十章
    Bestcoder #92
    codevs1700 施工方案第二季
    poj2631
  • 原文地址:https://www.cnblogs.com/carriezhao/p/8378347.html
Copyright © 2020-2023  润新知