克隆仓库:
git clone git://git.kernel.org/pub/scm/git/git.git(仓库地址)
1.查看状态
git status
2.同步远程
checkout 分支名
3.添加到git版本控制
git add . (点表示所有改变的文件,强制添加 git add -f 文件名)
4.提交到本地仓库版本库
git commit -m "备注"
5.提交到远程
git push
6.拉取远程仓库代码(所有分支)
git pull
7.设置用户信息
$ git config --global user.name "zhangsan"
$ git config --global user.email "88888888@qq.com
8.本地git 和github关联(本地的已经有很多,远程的是新的)
$ git remote add origin https://github.com/jinsx2015/oa.git
9.合并冲突
合并分支merge
(1).如果切了分支单独做自己的事 做完了需要合并到主分支 这个时候我们的先把主分支的合到自己分支 然后再合并到主分支,这样能尽量减少主分支合并可能出错 导致的后续一大顿问题,我就遇到过.....
git pull 获取代码
git checkout 你的分支
git merge 主分支
git comit -m “xxx”
git push
切换到主分支 重复上面操作:
git checkout 主分支
git merge 你的分支
git commit -m 'msg'
git push
(2).也可以选择直接合并(问题不大):
git checkout 主分支
git merge 你的分支
git commit -m 'msg'
git push
10.修改commit message
11.push到远程(本地有,远程无)
git push origin [分支名]
1、git log --oneline -5
查看最近5次commit的简要信息,输出信息为:简短commitID commit_message,可以根据需要查看最近n次的提交
也可以git log -5,输出信息相对详细些,commitID为完整的,这里只需要加上参数--oneline查看简短commitID即可
2、git rebase -i <简短commitID>
如果需要修改从上往下第2个commit_message,这里的简短commitID为上面输出信息的第3个,以此类推
在弹出的窗口中,以VIM编辑方式显示了最近两次的提交信息
3、(按照VIM操作)按i键,进入编辑模式,将想要修改的提交前的pick改为reword,如果需要修改多个,也可以将对应的多个pick改为reword
4、(按照VIM操作)按ESC键 再按 shift + : 然后输入wq(w是保存,q是退出) 按回车键
5、在弹出的窗口中,按i进入编辑模式,就可以修改commit_message了
6、(按照VIM操作)按ESC键 再按 shift + : 然后输入wq(w是保存,q是退出) 按回车键(同第4步)
如果第3步中修改了多个pick为reword,则会多次弹出修改界面,重复第5~6步即可
7、再使用第1步的命令查看一下修改结果,git log --oneline -5或者git log -5,查看修改是否已经完成
8、最后强制push上去git push --force
------------------------------------------------------------------------------------------------------------------------------
快捷操作:
1,修改最近一次的commit 信息
git commit --amend
然后就会进入vim编辑模式
2,比如要修改的commit是倒数第三条,使用下述命令:
git rebase -i HEAD~3
3, 退出保存 :wq
4,执行 git rebase --continue
5,执行 git push -f 推送到服务端。
10.git设置提交的用户名和邮箱
优先使用当前仓库,当前仓库没配置使用全局
当前仓库:
-
git config user.name "test"
-
git config user.email "testEmail"
全局:
-
git config --global user.name "test"
-
git config --global user.email "testEmail"
11.git 修改远程分支名称
首先 git branch -m 旧分支名 新分支名
其次 git push --delete origin 旧分支名
将新分支名推上去 git push origin 新分支名
将新本地分支和远程相连 git branch --set-upsteam-to origin/新分支名
12. git 大小写敏感设置
查看:git config --get core.ignorecase
设置:git config core.ignorecase false
13.删除分支
(1) 先切换到别的分支: git checkout otherBranch
(2) 删除本地分支: git branch -d deleteBranch
(3) 如果删除不了可以强制删除,git branch -D deleteBranch
(4) 有必要的情况下,删除远程分支(慎用):git push origin --delete deleteBranch
14.冲突解决
git merge --abort : 回到解决冲突之前的状态
git merge --abort 将会抛弃合并过程并且尝试重建合并前的状态,但是,当合并开始时如果存在未commit的文件,git merge --abort在某些情况下将无法重现合并前的状态。注:不建议在有未提交的commit的时候执行此命名
15.打标签(打tag标注)
在本地添加tag标注:git tag -a [tag名称] -m"tag简单描述"
查看所有tag信息: git tag
查看某个tag信息: git show [tag名称]
将本地所有tag推送至远程:git push origin --tags
本地单个tag推送:git push origin [tag名称]
16.查看远程和本地分支的对应关系
查看对应关系: git branch -vv
17.git新建分支并同步跟踪至远程分支
(1). git fetch origin 远程分支名:本地分支名
(2). git checkout -b 本地分支名 origin/远程分支名
18.SSL certificate problem:* * *
执行命令的时候,出现“SSL certificate problem:* * * ”报错,一般在执行“git push”(推送分支)或者“git clone”(克隆仓库)时出现(第一次操作的时候)。原因是因为SSL安全验证问题,不能获取到本地的证书。这里咱们通过不验证SSL证书方式解决
git config --global http.sslVerify false