设为首页 收藏本站
查看: 688|回复: 0

[经验分享] Setting up a Git project

[复制链接]

尚未签到

发表于 2018-9-19 06:55:34 | 显示全部楼层 |阅读模式
Setting up a Git projecthttp://git.or.cz/gitwiki/QuickStart  If you want to work with an existing project, clone it:
$ git clone   If you do not have an existing git project, create one:
$ cd project/  $ git init          # initializes the repository
  $ git add .         # add those 'unknown' files
  $ git commit        # commit all changes, edit changelog entry
  Git will look for a file named .gitignore in the root of your repository which contains a set of shell patterns to ignore in file paths.
Branching and merging$ git checkout -b linux-work        # create a new branch named "linux-work"  $
  $ git commit -a
  $ git checkout master               # go back to master branch
  $ git merge linux-work              # merge changesets from linux-work (Git >= 1.5)
  $ git pull . linux-work             # merge changesets from linux-work (all Git versions)
Importing patches$ git apply < ../p/foo.patch  $ git commit -a
Exporting a patch$   $ git commit -a -m &quot;commit message&quot;
  $ git format-patch HEAD^  # creates 0001-commit-message.txt
  # (HEAD^ means every patch since one revision before the
  # tip of the branch, also known as HEAD)
Network support# clone from the primary Git repo  foo$ git clone git://git.kernel.org/pub/scm/git/git.git
  foo$ cd git
  # pushing changes to a remote repo with SSH
  foo$ git push user@example.com:my-repository.git/
  # fetch changes to a remote branch into a local branch
  foo$ git fetch user@example.com:my-repository.git/ remote-branch:local-branch
  # merge changes from a remote machine
  bar$ git pull git://foo/repo.git/ branch
  # Serve repository via git protocol
  foo$ cd /my/repository/
  foo$ touch .git/git-daemon-export-ok
  foo$ git daemon  # now others can fetch from git://your.machine/my/repository/.git/
  # Set up a bare (= without working directory) repository (e.g. on a webserver)
  foo$ mkdir my-repo.git
  foo$ cd my-repo.git
  foo$ git --bare init
  foo$ chmod a+x hooks/post-update # this is needed for HTTP transport
  # you need to populate this repository via push
Inspecting revisions# inspect history visually  foo$ gitk       # this opens a Tk window, and shows you how the revisions are connected
  # inspect history
  foo$ git log    # this pipes a log of the current branch into your PAGER
  foo$ git log -p # ditto, but append a patch after each commit message
  # inspect a specific commit
  foo$ git show HEAD    # show commit info, diffstat and patch
  # of the tip of the current branch
Referring to revisions# by name  foo$ git log v1.0.0   # show history leading up to tag &quot;v1.0.0&quot;
  foo$ git log master   # show history of branch &quot;master&quot;

  #>  foo$ git show master^   # show parent to last revision of master
  foo$ git show master~2  # show grand parent to tip of master

  foo$ git show master~3  # show great grand parent to tip of master (you get the>  # by output of &quot;git describe&quot;
  foo$ git show v1.4.4-g730996f  # you get this string by calling &quot;git describe&quot;

  # by hash (internally, all objects are>  foo$ git show f665776185ad074b236c00751d666da7d1977dbe
  foo$ git show f665776   # a unique prefix is sufficient
  # tag a revision
  foo$ git tag v1.0.0                      # make current HEAD known as &quot;v1.0.0&quot;
  foo$ git tag interesting v1.4.4-g730996f # tag a specific revision (not HEAD)
Comparing revisions# diff between two branches  foo$ git diff origin..master            # pipes a diff into PAGER
  foo$ git diff origin..master > my.patch # pipes a diff into my.patch
  # get diffstat of uncommitted work
  foo$ git diff --stat HEAD
Cherry picking patchesfoo$ git cherry-pick other-branch~3     # apply 4th last patch of other-branch to current branch

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-593834-1-1.html 上篇帖子: 一个成功的Git分支模型 下篇帖子: git自动补全功能[zt]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表