常用git命令

常用git命令

如果在windows系统下,使用git bash(下载Git-2.22.0-64-bit .exe安装,右击鼠标快捷菜单里有Git Bash Here选项,点击后出现git操作界面)

文章目录

    • 常用git命令
      • 1,git clone 代码到本地
      • 2,git checkout -b 本地分支名字 origin/远程分支的名字
      • 3,git branch 创建本地分支相关
      • 4,git 提交代码相关
      • 5,代码冲突
      • 6,其它

1,git clone 代码到本地

git clone http://XX.XXX.XX.XX/liuxiaoshuan/project.git//这里是http连接,也可以使用ssh

2,git checkout -b 本地分支名字 origin/远程分支的名字

git checkout -b gmkaihu origin/gmkaihu //创建本地分支gmkaihu,并且和远程分支gmkaihu关联

3,git branch 创建本地分支相关

git branch -a //显示当前所有的分支,包括本地的和远程代码库的
git branch branchname //创建一个本地的分支,名字是branchname
git checkout branchname 切换本地分支到branchname
git branch -d branchname //删除本地分支,分支名为branchname
git branch --set-upstream-to=origin/v3.8.3 branchname //将本地分支branchname和远程分支 origin/v3.8.3关联 ,之后git pull和push可以直接省略远程分支

4,git 提交代码相关

git status . //查看修改状态,包括 staged和 not staged的
git add .[或者具体文件名] //将所有或者指定文件添加到staged里

git reset . //将staged的代码恢复为not staged状态
git checkout . //将not staged的修改代码恢复成原始代码

git commit -m “备注信息” //本地修改提交
git push origin 本地分支名:远程分支名(如果远程没有这个分支会创建改名字的分支)//将本地修改提交到远程代码库

5,代码冲突

git pull时和本地修改有冲突,则:
git stash //保存本地修改
git pull //更新代码成功
git stash pop //恢复刚才本地保存的修改,此时如果有冲突:
git mergetool //自行解决冲突
然后再走步骤4

6,其它

git remote prune origin //在本地删除远程删掉的branch

git reset --hard[soft] commitid //将本地分支的代码回退到指定的一次提交,hard表示完全回退不保留后面的提交代码修改,soft则保持后面提交代码的修改

git merge 远程分支到本地 //本地修改,需要再次执行git push才可以使远程对应分支生效

git cherry-pick 其它分支的commit到本地//本地修改,需要再次执行git push才可以使远程对应分支生效

//实现代码在不同服务器的迁移
git clone --bare http://原始git代码库地址/liuxiaoshuan/project.git && git push --mirror http://新的git代码库地址/project-android.git 

git revert HEAD      //撤销前一次 commit
git revert HEAD      //撤销前前一次 commit
git revert commitId  //撤销指定的版本,撤销也会作为一次提交进行保存,然后git  push推到git代码库


git rebase使用(test分支上合入master分支):
git checkout master
git pull
git checkout test
git rebase master
循环解决冲突:
手动修改
git add -u 
git rebase --continue 
如果想停止可以:git rebase --abort
提交的话:git push


删除某一笔提交、批量删除:
git rebase -i xxxx xxxx为要删除的前一条commit,会进入到vi编辑器模式,如果想删除可以将对应commit前面的pick修改为drop(i键进入修改,esc键退出修改,:wq键保存)
(多个的话循环执行)如果有冲突,解决冲突add后继续:git rebase --continue
如果想放弃rebase:git rebase --abort
本地git log查看正常已经删除掉了不要的commit
git push --force提交到远程分支


统计提交数量:
git log --oneline | wc -l

你可能感兴趣的:(git)