git的简单命令及使用

        公司里一直在用git做为版本管理工具,而我总感觉用着别扭,难道是svn用多了。在这里简单记录:

git remote add -f songcl git://192.168.215.12/git/dict2.git (项目里添加获取人的设置)
其中,songcl是在本地设置获取人的别名。dict2.git是获取人的项目。
git fetch --all(获取全取人分支的命令)
在设置了获取人后,可以获取全部人的项目。当然也可以单独获取。
git branch -a (查看所有分支)
同时还可以看出当前在哪个分支上。
git rebase origin/master (合并分支)
gitk --all& (查看历史及详细记录)
git reset --hard HEAD(回到上次版本)

         

       另外要说的重点是git中的本地与版本库中的代码冲突时的解决:在Team Synchronizing视图(java的eclipse)中可以看到本地有多少没有提交。这时如果出现最烦人的红色左右箭头,先要把版本库的代码fetch到本地,然后,如果能够用机器自己自动合并的就直接用merge来搞定,不能的,提示出错的,就用手动修改,然后加add index,再然后commit。最后都弄完了,就可以直接push了。这里我可以理解的是,git不允许本地代码直接覆盖版本库,所以要拉到本地合并后再提交。应该是出于代码保护的机制吧。

        合并操作有rebase与merger两种,获取别人到自己项目上合并时,最好使用rebase。当自己本地与远程项目冲突解决后,再merger回远程,这样一般不容易出错。

       

        git的最大特色,本人脚着是在本地有一个版本库,相当于工作副本,不怕丢失项目——只要你提交了的话。

       新增:

       

git push --help      推送命令帮助
git push --force     强制推送
git stash              ??
git stash pop         ??
git checkout -b half-done    207cf40     新建207cf40版本代码的half-done分支
git branch -D half-done    删除half-done分支

 ===========================================

后续添加:

       

git clone git://localhost/git/spanish.git  //复制获取项目

git daemon --reuseaddr --base-path=/var /var/git &//建立本地git项目。

本地项目建立git的完整使用样例

git songcl$ sudo git clone --bare /Users/songcl/git/workproject spanish.git
 cd spanish.git/
sudo touch git-daemon-export-okr    //生成
 sudo chown -R songcl ..     //赋于权限

启动本地git连接服务(让别人能够访问到)

git daemon --reuseaddr --base-path=/var /var/git &

猜你喜欢

转载自chevy.iteye.com/blog/1926131