git使用,提交代码简记
强制覆盖本地修改:git reset --hard
项目初始时获取前端代码:
git clone https://git.oschina.net/yudian/yudian-frontend.git
从远程仓库获取分支代码:git fetch origin bsbank:bsbank
切换到分支:git checkout bsbank
新建分支sampleBranch,在该新分支上进行开发工作:
git checkout -b sampleBranch
开发完成后,需将代码推送到服务器上时,首先在本地commit修改的代码:
git add .
git commit -m "I commit this code for the sample function bug fix"
切换到master分支,并拉取服务器上的最新代码:
git checkout master
git pull
重新切换到sampleBranch, rebase到最新的master分支上,从而让自己的代码修改是基于最新的服务器端代码来做的:
git rebase master
如果上一步rebase出现CONFLICT错误,则用文本编辑器打开出现CONFLICT的相应文件,找到标注冲突的地方(搜索"<<<<<<"),然后手工修改冲突处代码,以确定最后代码的内容。
修改所有出现CONFLICT的文件后,将其添加为可commit状态:
git add .
继续rebase操作:
git rebase —continue
如果在"rebase继续"操作中又出现CONFLICT,则重复进行上述"找到CONCLICT -> 修改文件 -> git add -> git rebase —continue"的操作
git rebase成功后,将本地的代码推送到服务器:
git push origin sampleBranch
如果推送出错, 在当前的sampleBranch的基础上新建分支,然后继续推送:
git checkout -b sampleBranch2
git push origin sampleBranch2
git reset --hard 放弃本地修改
git stash 不用提交本地修改来更新最新代码
git stash pop
1. 本地分支重命名
Git branch -m oldbranchname newbranchname
2. 远程分支重命名 (假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支
git branch -m old-local-branch-name new-local-branch-name
b. 删除远程分支
git push origin :old-local-branch-name
c. 上传新命名的本地分支
git push origin new-local-branch-name: new-local-branch-name
1 查看远程分支 git branch -a
2.查看本地分支 git branch
3.创建分支 git branch test
4.把分支推到远程分支 git push prigin test
5.切换分支到test git checkout test
6.删除本地分支 git branch -d XXX
6.查看本地和远程分支 -a.前面带*号的代表当前工作目录所处的分支。执行 git remote -v ,看出来origin其实就是远程的git地址的一个别名。
创建分支: $ git branch mybranch
切换分支: $ git checkout mybranch
创建并切换分支: $ git checkout -b mybranch
更新master主线上的东西到该分支上:$git rebase master
切换到master分支:$git checkout master
更新mybranch分支上的东西到master上:$git rebase mybranch
提交:git commit -a
对最近一次commit的进行修改:git commit -a –amend
commit之后,如果想撤销最近一次提交(即退回到上一次版本)并本地保留代码:git reset HEAD^
合并分支:(merge from) $ git checkout master $ git merge mybranch (merge from mybranch)
删除分支: $ git branch -d mybranch
强制删除分支: $ git branch -D mybranch
列出所有分支: $ git branch
查看各个分支最后一次提交: $ git branch -v
查看哪些分支合并入当前分支: $ git branch –merged
查看哪些分支未合并入当前分支: $ git branch –no-merged
更新远程库到本地: $ git fetch origin
推送分支: $ git push origin mybranch
取远程分支合并到本地: $ git merge origin/mybranch
取远程分支并分化一个新分支: $ git checkout -b mybranch origin/mybranch
删除远程分支:$ git push origin :mybranch rebase:
$ git checkout mybranch
$ git rebase master (rebase from master)
举例:
$ git checkout server
$ git rebase –onto master server client
$ git checkout master
$ git merge client (fostforward)
$ git rebase master server (checkout sever)
$ git merge server
$ git branch -d client
$ git branch -d server