git 使用小结

git 分布式代码管理的一个工具,根据最近初步接触的使用情况,做一个简单的总结:

首先有两个仓库(这里假设两个简单的目录):远程/home/remote ,本地 home/local

1.初始化工作:git init 远程仓库,在本地从远程仓库 git clone 一个仓库下来,本地也可以git init,但是这样做的好处是随后的git push/pull 命令获得一个默认的远程仓库地址,随后的命令中就不需要指明;

/home/remote/ $ git init

/home/local/ $git clone  xxx@127.0.0.1:/home/romete

2.将本地代码更新到远程仓库,分为三步,本地创建文件vi hello.cpp,

/home/local/ $ git add hello.cpp

/home/local/ $ git commit -m "hello world!"

/home/local/ $ git push

此时远程目录下应该添加文件 hello.cpp,但是如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上,也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.所以远程仓库最好使用 git --bare init 进行初始化。

3.当需要从远程目录获得其他版本的代码时,可以使用 git pull;


此外,如果需要跟踪文件的状态,就必须得用git add/commit 来提交文件,同时与git checkout结合使用就可以在撤销文件的修改:

假如此时你在编辑hello.cpp,当你完成一部分工作之后可以 git commit -a hello.cpp,然后接着进行下一步修改,但是发现又想还原到修改之前的状态,此时只用git checkout hello.cpp就可以搞定了!


近来又接触了git 分支 的用法,分支可以用来对你的代码做不同的试验性的修改,一条分支上的改变不会影响到另一个分支,这样即使后来的想法不对了,也能保存一份最初版本的备份,使用非常方便简洁。

git 默认有一个主分支master, 此时创建文件hello.c 并且commit 到本地仓库,

git branch child master 就可以在 master 上创建子分支child,那么在此时在child上做修改,同时也要commit一下,那么在回到master分支,是看不到child上所做的修改的。

使用git管理软件开发流程:http://nvie.com/posts/a-successful-git-branching-model/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值