• Git 常用情景


      最近的项目管理用的是GIT,刚开始只是打算能用即可,没打算好好学习它。但是GIT的魅力很大啊,让人禁不住想多了解了解。时间有限,历史、背景、来源,都无需多说。我就把常常能碰到的应用场景列举一下,一方面分享给大家查阅,一方面自己备忘吧。我工作的环境是 Ubuntu, 虽然 Git 在多个平台都是可以使用的,但是仍然略有差别。

    1. 安装Git。当然从源码安装是可以的,开源项目嘛。
      $ apt-get install git
    2. 克隆代码库。我的项目是托管在 bitbucket , 推荐一下,很好用。当然,没用过其他的 github, google code等等,所以也没有发言权了。这里的adress可以是代码托管的服务器地址,也可以是一个本地库的路径等等。
      $ git clone address
    3. 设置用户名和邮件地址。很重要的步骤,这个信息会显示在你的提交信息上,这样团队才知道是谁提交的代码。
      $ git config --global user.name "John Doe"
      $ git config --global user.email johndoe@example.com
    4. 设置默认的merge工具。这个不是必须的,随后可以手动选择的。设置上会很方便,我一般就用meld了, meld需要额外安装。
      $ git config --global merge.tool meld
    5. 查看git的设置信息。下面是查看git全局信息,比较常用的。第二条是查看具体某项配置的信息。
      $ git config --list
      $ git config user.name
    6. 查看git命令的帮助信息。三种方式。
      $ git help <verb>
      $ git <verb> --help
      $ man git-<verb>
    7. 在代码库目录下,查看代码状态。这个真心建议仔细看看,输出的信息很有讲究,需要实践以进一步学习。
      $ git status
    8. 让git追踪一个新文件。正常创建的文件,需要先被git追踪,才能进而被git管理。第二条命令是对所有未追踪的文件添加追踪,容易track无用文件,慎用。
      $ git add fileName
      $ git add -A
    9. 提交。-m不是必须的,但是最好加上,他让你能给本次提交添加comment。
      git commit -m “”
    10. 查看不同。第一条是查看两个分支的区别。第二个是查看两次提交的区别。第三个是比较工作区和上次提交的差别。git diff 也是可以的,但是没有可视化工具,如meld,是很不直观的。
      git difftool b1 b2
      git difftool c1 c2
      git difftool HEAD
    11. 查看提交的历史。
      $ git log
      $ git log -p -2
      $ git log --since=2.weeks

      git log通常就够用,后面的是加一些限定条件的,有许多限定条件可用,如果你需要的话。

    12. 修改最后一次提交的状态。
      git commit --amend -m "xxx"

      如果你刚刚提交了,但是漏掉了一个文件,又不想再提交一次。那么用这条指令,相当与修改了你最后一次提交,并且会覆盖掉你最后提交的信息,显示一次提交。

    13. unstage一个已经stage的文件。
      git reset HEAD fileName

      说白了,就是某个文件我add了,但是我由不想提交了,怎么办?执行这个。

    14. 还原修改过的文件。
      git checkout -- <file>

      一个文件我改了,然后我又不想要这个改动了,还原回去用这个命令。

    15. 给git的命令起别名。
      git config --global alias.br branch

      这个绝对好用有木有,有的命令太长,好了,设置简单的别名即可啊。这只是个简单的例子,更多精彩查阅文档。

    16. 把提交push到代码库。
      git push origin branch

      虽然你commit了,但那是在你的本地,如果想要把你的提交同步到服务器,那么需要git push 命令。branch是你打算push到的远程分支名字。

    17. 追踪远程分支。
      $ git checkout -b serverfix origin/serverfix

      创建本地分支 serverfix 来追踪 远程的分支 origin/serverifx.

    18. 更新代码库。
      $ git pull origin

      我知道这个方法不是最安全的,因为git pull命令会自动merge,但是我不得不说,这个是我最常用的,他会把远程代码库的更新pull到你本地。并且自动merge当前分支。

    19. 还原当前分支到某次提交。
      $ git reset --hard ”commit md5“
      $ git reset --soft ”commit md5“

      --hard 和 --soft的区别在于,前者会彻底覆盖掉你本地未提交的修改,而后者会保留你的修改。commit md5 是你执行 git log 时,看到的commit的md5值。

    20. 合并分支。
      $ git merge branch1

      把branch1分支合并到当前分支。有可能很顺利,也有可能会发生冲突,仔细看提示信息,再提交!

    21. 手动解决冲突。
      $ git mergetool

      如果合并分支的时候冲突了,用这个命令手动解决。这是常有的事儿。

    22. 创建分支。 
      $ git branch -b "branch1"

      创建一个叫“branch1”的分支。

    23. 删除本地分支。
      $ git branch -d "branch1"
    24. 切换分支。
      $ git checkout branch1

      切换到branch1分支。

    25. 删除远程分支。
      $ git push origin :branch1

      删除远程的branch1分支。

      一个好的 git 网站, http://gitready.com/

      暂时想到这些吧,以后想到了再补充。我相信你会用了这些,就可以完成基本的代码库管理了。另外,git是很有意思的一个东西,与其他的版本控制系统(VCS)很不一样,如果想要深入学习,还有很长的路要走。这里推荐一本电子书,《Pro Git - Scott Chacon.pdf》,简单而全面,很容易看懂。谢谢!

  • 相关阅读:
    1-5-03:均值
    1-5-01:求平均年龄
    1-04-t6993:二进制位处理
    1-4-20:求一元二次方程的根
    1-4-19:简单计算器
    1-4-18:点和正方形的关系
    1-4-17:判断闰年
    1-4-16:三角形判断
    1-4-15:最大数输出
    停止IIS服务
  • 原文地址:https://www.cnblogs.com/beautiful-scenery/p/3525618.html
Copyright © 2020-2023  润新知