创建新分支:git branch branchName
切换到新分支:git checkout branchName
两个合成为一个命令:git checkout -b branchName
从远程拉取分支到本地: git checkout -b localName origin/remoteName(分支名字)
git checkout HEAD~2/[commit id]
提交本地test分支作为远程的test分支 : $git push origin local_branch:remote_branch (远程分支名不要加origin)
git add
查看提交记录:git log —oneline
查看当前HEAD:cat .git/HEAD
查看远程分支 git branch -r
查看本地分支 git branch
查看所有分支 git branch -a
删除分支 git branch -d [name]
删除远程分支: git push origin --delete serverfix (远程分支不用加origin)
从一个TAG拉出分支:git checkout -b branch_name tag_name
合并分支: git merge branchname(远程或者本地) ----将名称为[name]的分支与当前分支合并
git fetch origin 拉取远程最新代码
git merge origin/dev-5.1.0
把工作区文件加入缓存区:git add .
取消缓存区文件放回工作区:git reset HEAD <file>...
重置:
回滚到前两次(两次都回滚)提交,回滚的提交会保存到缓存区:git reset --soft HEAD~2
回滚到前两次(两次都会滚)提交,回滚的提交会保存到工作区:git reset —mixed HEAD~2
回滚到前两次(两次都回滚)提交,回滚的提交不会保存:git reset —mixed HEAD~2
回滚掉前二次(只有一个),以前的记录还存在,创建一个新的提交记录:git revert HEAD~2
放弃对工作区(只能工作区,不能改缓存区)文件修改:git checkout -- test55.txt
以上修改完成以后通过git push origin同步到远程
pull = fetch + mergels
git reflog
git reset(http://www.cnblogs.com/kidsitcn/p/4513297.html)
HEAD从顶端commit移动到上一个commit:git reset HEAD~1 == git reset —mixed HEAD~1
不改变分支commit位置,丢掉本地修改:git reset —hard HEAD
mixed(默认参数,可省略)重置HEAD,INDEX(Stage area),Working Area不会变
git三个状态(http://m.blog.csdn.net/article/details?id=51916143)
1、committed,提交:表示你修改的数据已经安全的保存到了本地仓库;
2、modified,修改:你修改了文件,但是还没有提交到本地仓库;
3、staged,缓存:表示你已经标记了修改的文件作为下次commit的一部分
git工作区:
1、workding Area
2、staging area
3、head(git dirctory)
切换到新分支:git checkout branchName
两个合成为一个命令:git checkout -b branchName
从远程拉取分支到本地: git checkout -b localName origin/remoteName(分支名字)
git checkout HEAD~2/[commit id]
提交本地test分支作为远程的test分支 : $git push origin local_branch:remote_branch (远程分支名不要加origin)
推送本地分支local_branch到远程分支 remote_branch并建立关联关系
a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch
git push
b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch
git push -u origin/remote_branch
c.远程没有有remote_branch分支并,本地已经切换到local_branch
git push origin local_branch:remote_branch (常会碰到分支与远程分支关联失败问题)修改分支关联:
git push --set-upstream origin 远程分支名
git branch --set-upstream 本地分支名(全拼+路径) 远程分支名 (全拼+路径)
git add
查看提交记录:git log —oneline
查看当前HEAD:cat .git/HEAD
查看远程分支 git branch -r
查看本地分支 git branch
查看所有分支 git branch -a
删除分支 git branch -d [name]
删除远程分支: git push origin --delete serverfix (远程分支不用加origin)
从一个TAG拉出分支:git checkout -b branch_name tag_name
合并分支: git merge branchname(远程或者本地) ----将名称为[name]的分支与当前分支合并
git fetch origin 拉取远程最新代码
git merge origin/dev-5.1.0
把工作区文件加入缓存区:git add .
取消缓存区文件放回工作区:git reset HEAD <file>...
重置:
回滚到前两次(两次都回滚)提交,回滚的提交会保存到缓存区:git reset --soft HEAD~2
回滚到前两次(两次都会滚)提交,回滚的提交会保存到工作区:git reset —mixed HEAD~2
回滚到前两次(两次都回滚)提交,回滚的提交不会保存:git reset —mixed HEAD~2
回滚掉前二次(只有一个),以前的记录还存在,创建一个新的提交记录:git revert HEAD~2
放弃对工作区(只能工作区,不能改缓存区)文件修改:git checkout -- test55.txt
以上修改完成以后通过git push origin同步到远程
pull = fetch + mergels
git reflog
git reset(http://www.cnblogs.com/kidsitcn/p/4513297.html)
HEAD从顶端commit移动到上一个commit:git reset HEAD~1 == git reset —mixed HEAD~1
不改变分支commit位置,丢掉本地修改:git reset —hard HEAD
mixed(默认参数,可省略)重置HEAD,INDEX(Stage area),Working Area不会变
git三个状态(http://m.blog.csdn.net/article/details?id=51916143)
1、committed,提交:表示你修改的数据已经安全的保存到了本地仓库;
2、modified,修改:你修改了文件,但是还没有提交到本地仓库;
3、staged,缓存:表示你已经标记了修改的文件作为下次commit的一部分
git工作区:
1、workding Area
2、staging area
3、head(git dirctory)