Chinaunix首页 | 论坛 | 博客
  • 博客访问: 785930
  • 博文数量: 230
  • 博客积分: 6330
  • 博客等级: 准将
  • 技术积分: 2188
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-10 15:55
个人简介

脚踏实地

文章分类

全部博文(230)

文章存档

2017年(1)

2016年(7)

2015年(10)

2014年(32)

2013年(24)

2012年(33)

2011年(50)

2010年(30)

2009年(43)

分类: LINUX

2014-08-19 19:39:26

0. git的基本操作
# 建立一个ignore文件的列表
建立一个文件.gitignore文件
ls > .gitignore
然后再修改即可
一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪
http://blog.csdn.net/liuqiaoyu080512/article/details/8648266

# 创建一个版本库
git init
# 每次修改好了后,可以先将修改存入stage(快照/索引)中
git add
# 修改了大量文件则使用下面这个命令批量存入
git add .
commit 只是提交到本地
# 使用commit将快照/索引中的内容提交到版本库中
git commit -m "msg"
# 也可以将git add与git commit用一个指令完成
git commit -a -m "msg"
# 将本地的git档案与github(远程)上的同步
git push
# 将github(远程)的git档案与本地的同步(即更新本地端的repo)
git pull
# 例如,pull指令其实包含了fetch(將变更复制回來)以及merge(合并)操作
git pull git://github.com/tom/test.git
 
# 另外版本控制系統的branch功能也很有意思,若同时修改bug,又要加入新功能,可以fork出一个branch:一个专门修bug,一个专门加入新功能,等到稳定后再merge合并
git branch bug_fix # 建立branch,名为bug_fix
git checkout bug_fix # 切换到bug_fix
git checkout master #切换到主要的repo
git merge bug_fix #把bug_fix这个branch和现在的branch合并
 
# 若有remote的branch,想要查看并checkout
git branch -r # 查看远程branch
git checkout -b bug_fix_local bug_fix_remote #把本地端切换为远程的bug_fix_remote branch并命名为bug_fix_local
 
# 还有其它可以查看repo状态的工具
git log #可以查看每次commit的改变
git diff #可以查看最近一次改变的內容,加上参数可以看其它的改变并互相比较
git show #可以看某次的变更
 
# 若想知道目前工作树的状态,可以輸入
git status

小结:
commit 是必须的,无论你玩的是单机(没有协同开发,只在本地玩玩)还是网游(协同开发,服务器托管代码)。
pull、push 是与远程版本库互动的操作,协同开发一定要用的。
checkout、branch、rebase、merge、reset 分支操作,方便开发

1. 软件选择
安装git,在Linux下面选了
评价还不错的Git-cola




2. ProGit的总结
要检查已有的配置信息,可以使用git config --list命令
运行了git add之后又作了修订的文件,需要重新运行git add把最新版本重新暂存起来

git diff --cached查看已经暂存起来的变化

默认会启用 shell 的环境变量 $EDITOR 所指定的软件,一般都是 vim 或 emacs。当然也可以按照第一章介绍的方式,使用git config --global core.editor命令设定你喜欢的编辑软件
也可以 -m 直接输入改动说明,例如:git commit -m "Story 182: Fix benchmarks for speed"

N. 0  参考资料:
关于基本操作尤其是在github上相关的操作: http://blog.csdn.net/liuqiaoyu080512/article/details/8618904 
查看git的详细输出在前面加上GIT_CURL_VERBOSE=1 GIT_TRACE=1

N.1 关于buffer的设置

error: RPC failed; curl transfer closed with outstanding read data remaining
查看 git config --get http.postBuffer 如果什么都没有的话就是默认值1M
git config --global http.postBuffer 524288000

VPN环境下出现GnuTLS recv error (-9): A TLS packet with unexpected length was received需要设置:
sudo  ifconfig ppp0 mtu 1300 (原来是1376)

设置完好像直接在文件中落地了, cat /sys/class/net/enp0s3/mtu

@@@如果出现functions-common:git_timed:602            [[ 128 -ne 124 ]]
+functions-common:git_timed:603            die 603 'git call failed: [git clone'   :
解决方法:修改stackrc,更换git_base协议,并且增加http和https代理变量:

阅读(719) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~