git使用笔记

初始上传代码

下面的$project_root代表工程根目录
进入工程目录 cd $project_root
初始化git仓库 git init
添加文件到仓库 git add .
提交代码到仓库 git commit -m 'init commit'
链接到git server git remote add origin git@example.com:namespace/projectname.git
push代码到服务器 git push origin master

修改文件后,如何提交到git服务器?

git status 查看有哪些文件更改

(1)首先需要add,比如.config是被修改的文件,则 git add .config

(2)然后执行git commit -m “提示 修改的信息” git commit -m -a(all )

(3)然后git push 到git服务器,更新到order分支上git push --set-upstream origin order

(4)更新:git pull
(5)查看log:git log

分支

查看分支 git branch

创建order分支 git branch order

切换到order分支 git checkout order

创建order分支并切换到order分支 git checkout -b order

上传order分支 git push origin order

order分支合并到当前分支上 git merge order

order分支合并后, 删除order分支 git branch -D order

Git 获取远程分支

运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支。

分支合并

http://www.cnblogs.com/mengdd/p/3585038.html

1、直接合并 straight merge
把两条分支上的历史轨迹合并,交汇到一起。

比如要把dev分支上的所有东东合并到master分支:
git checkout master
git merge dev

2、压力合并 squashed commits
将一条分支上的若干个提交条目压合成一个提交条目,提交到另一条分支的末梢。

把dev分支上的所有提交压合成主分支上的一个提交,即压合提交:
git checkout master
git merge - -squash dev

3、拣选合并 cherry-picking
拣选另一条分支上的某个提交条目的改动带到当前分支上。

每一次提交都会产生一个全局唯一的提交名称,利用这个名称就可以进行拣选提交。
比如在dev上的某个提交叫:321d76f,把它合并到master中:
git checkout master
git cherry-pick 321d76f
这样在拣选了这个改动之后,进行暂存而不立即提交,接着可以进行下一个拣选操作,一旦拣选完需要的各个提交,就可以一并提交。

版本回退

git reset

git reset --hard HEAD^(版本号)

其他命令

git log 查看记录

git reflog 记录你的每一次命令

撤销修改 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销

撤销所有修改 git checkout -- .

删除文件 git rm

原文地址:https://www.cnblogs.com/lyre/p/6168935.html