设置
快捷命令设置
git config --global alias.st statusgit config --global alias.ci "commit -a" git config --global alias.co checkoutgit config --global alias.br branchgit config --global alias.dc dcommitgit config --global alias.rb rebase
彩色交互界面
git config --global color.branch autogit config --global color.diff autogit config --global color.interactive autogit config --global color.status autogit config --global core.autocrlf input
设置用户个人信息
请修改成你自己的,不要照抄
git config --global user.name "da.peng666" git config --global user.email "da.peng666@foxmail.com"
开发常用操作
克隆一个项目到本地
git clone git://your-git-server/your-project.git your-project
设置远程仓库
# 添加(origin 为一个标示,可以随意更换)git remote add origin git://your-git-server/your-project.git# 删除git remote remove origin
操作远程仓库
# 提交本地修改(将本地修改提交到远程的master分支)git push -u origin master# 合并远程修改(将远程的master分支合并进来)git pull origin master# 删除远程仓库里的分枝git push :branch
基本操作
# 提交修改git add /path/to/filegit commit -m reason# 提交全部修改git commit -a -m reason# 创建本地分枝git co -b branch_name# 查看分枝git branch# 删除分枝git branch -D branch_name# 查看分支之间的差异git diff master branch# 查看最新版本和上一个版本的差异(一个^表示向前推进一个版本)git diff HEAD HEAD^# 查看状态git status# 合并分支git pull . branch# 销毁自己的修改git reset --hard
还可以和svn交互
# 从subversion仓库中克隆git svn clone https://googlecode.com/svn# 将本地修改提交到subversion仓库git svn dcommit# 导入新的subversion更新git svn rebase
协同工作流程
1. 在本地修改确认后,需要提交到主库,使用
git push
如果远程提交失败,失败信息如:
To git@www.yongche-inc.com:che.git ! [rejected] master -> master (non-fast forward)error: failed to push some refs to 'git@www.yongche-inc.com:che.git'
这时提示你主库下可能有文件冲突,2. 这时需要执行
git pull
把主库最新版本同步到本地,如果提示如:
remote: Counting objects: 5, done.remote: Compressing objects: 100% (2/2), done.remote: Total 3 (delta 0), reused 0 (delta 0)Unpacking objects: 100% (3/3), done.From git@www.yongche-inc.com:che 0c94dbe..52a81fe master -> origin/masterAuto-merged readmeCONFLICT (content): Merge conflict in readmeAutomatic merge failed; fix conflicts and then commit the result.
这是提示你有文件readme和主库有冲突,以后就需要手动处理冲突。3. 文件中冲突,git以如下方式提示给你
<<<<<<< HEAD:readmetest by wangbai and yancan and someone haha=======test by wangbai and yancan and somthing>>>>>>> 52a81fe3acf426bbae164a00ba3413550e056672:readme
4. 手动解决冲突后,需要重新commit,然后push
git commitgit push
如显示:
Counting objects: 10, done.Compressing objects: 100% (5/5), done.Writing objects: 100% (6/6), 639 bytes, done.Total 6 (delta 0), reused 2 (delta 0)To git@www.yongche-inc.com:che.git 52a81fe..bb31966 master -> master
提交成功