1、通过代理下载git源码
- export http_proxy=http://127.0.0.1:1087
- git config --global http.proxy http://127.0.0.1:1087
- git config --global https.proxy http://127.0.0.1:1087
- git config --global http.sslVerify false
- git clone ***.git
- git config --global --unset http.proxy
2、分支操作
- git checkout 分支名称(切换已存在的本地分支)
- git checkout -b 分支名称(新建并切换)
- git checkout -b 分支名称 远程分支名称(新建本地分支并拉取远程分支到本地)
- git fetch origin 远程分支名称(直接拉取远程分支到当前本地分支)
- git remote set-url origin <新的gitlab仓库的url>(更改远程仓库地址)
- git branch -d 本地分支名称(删除本地分支)
- git push origin -d 远程分支名称(删除远程分支)
- git branch(列出所有本地分支名称)
- git branch -a(列出所有分支名称)
- git branch -r(列出所有远程分支名称)
- git branch -m 新分支名称; git push origin 新分支名称(修改当前分支名称并推送到远程仓库); git push origin -d -f 老分支名称(删除老分支)
- git branch 本地分支名称(如:test) --set-upstream-to=远程分支名称(如:origin/test) 关联本地分支和远程分支
3、还原工作区
- git checkout . 恢复工作区所有修改,暂存区不变(仅对修改文件有效)
- git checkout -- "filename" 恢复工作区对该文件的修改,暂存区不变(仅对修改文件有效)
- git clean -xdf 恢复工作区如初(对所有文件有效,包括新增的文件和文件夹)
- rm 文件名 或 rm 文件夹名 -rf 删除工作区文件或文件夹
4、还原暂存区
- git reset HEAD 恢复暂存区,工作区不变
- git reset HEAD -- "filename" 恢复暂存区的该文件,工作区不变
5、查看版本号
- git reflog
- git log
6、还原本地分支
- git reset --soft 版本号 使本地分支回到指定版本
- git reset (--mixed,默认值) 版本号 使本地分支、暂存区回到指定版本
- git reset --hard 版本号 使本地分支、暂存区、工作区回到指定版本
- git reset --hard origin/master 远程分支直接覆盖本地分支、暂存区、工作区
7、撤销合并
- git merge --abort
8、设置difftool
-
[diff]
tool = bc2
[difftool "bc2"]
cmd = "\"D:/BeyondCompare2/BC2.exe\" \"$LOCAL\" \"$REMOTE\""
[merge]
tool = bc2
[mergetool "bc2"]
cmd = "\"D:/BeyondCompare2/BC2.exe\" \"$LOCAL\" \"$REMOTE\""
[difftool]
prompt = false
[mergetool]
prompt = false
9、git diff
- git diff 对比暂存区、工作区的差异
- git diff HEAD 对比版本库、工作区的差异
- git diff --cached/staged 对比版本库、暂存区的差异
10、如何理解工作区、暂存区、版本库、本地分支、远程分支
============================================================================---------------------------------|---------------版本库---------------------------|
工作区--------(add)----------->|暂存区----------(commit)----------->本地分支|----------(push)--------->远程分支
---------------------------------|-------------------------------------------------|
---------------------------------|-------------------------------------------------|
11、如何安全将开发分支合并到master分支
1、提交代码至开发分支: git add .; git commit -a -m "*"; git push origin dev;2、切换master分支拉取最新代码: git checkout master; git pull origin master;
3、合并开发分支代码并解决冲突:git merge dev; git status;
4、提交代码至master并切换回开发分支: git push origin master; git checkout dev;