>#git add -i
采用交互的方式将工作区代码加入本地代码缓冲区中
>#git add -p
出现选项y/n/a/d/e
如果选择y将工作区代码加入本地代码缓冲区中,选择n或是d终止提交操作,选择a添加
提交代码到中心仓库的方法
1.>#git add some-file
#git commit -m "some word"
适合添加简单的注释时使用
2. # git commit -m "some word" -a
提交本地所有改变的代码到中心库
3 # git commit -m " some word" some-file
提交指定文件名的文件到中心库
查看不同
#git diff
结果显示本地工作区中还没有提交到缓冲区
#git diff --cached
显示缓冲区与中心仓库中的不同
#git diff HEAD
比较本地工作区与缓冲区和中心仓库的不同
文件重命名和移动
#git mv index.html hello.html
修改了文件名
修改后需要提交变化
#git commit -m "rename index.html"
理解和使用分支
#git branch -m master mymaster
#git branch
修改了master的名字为mymaster
#git branch newbranch
创建了一个newbranch分支,但是此时的工作分支仍然是master,需要去哦git chekout newbranch后才会切换分支。
通过下面的命令可以做到创建分支的同时切换分支
#git checkout -b another master
这样就从master分支中生成一个another分支,并把分支切换到another下。
#git branch -a
显示本地和远程的所有分支
删除分支
#git branch -d branch-name
分支重命名
#git branch -m orgin-name new-name
在分支间转移变化
转移分为三种:
1.Straight merging
检出工作分支
#git checkout master
转移要提交到当前分支的分支
#git merge alternate
alternate为要合并到master中的分支
此种方法会将alternate中的所有log信息存入到master中
2.squashing commits
有两个分支master分支和contact分支
将contact合并到master中
#git checkout master
#git merge --sqush contact
还需要执行git commit -m ""后提交变化
这种提交方式会将contact的log信息要锁到一次性提交的log中
3.cherry-pick commit
这是一种通过提交名称来合并的方法,可以只合并一次或指定次提交
#git checkout contact
检出一个分支
#git commit -m "add something"
此时会出现提交信息,假如提交号是:321d76f
我们就可以通过这个号来将这次提交内容同步到其它分支了
#git checkout master
#git cherry-pick 321d76f
这个执行过程git已经执行了一个commit过程。
如果有的时候我们要直接提交怎么办呢?
#git cherry-pick -n 321d76f
通过添加-n参数,git只会将变化提交到缓存中,没有执行commit
待你修改完其它后可以一起commit了
#git commit
恢复变化
#git reset --hard HEAD
可以移除最后一次提交过程