git官网地址:https://git-scm.com/book/zh/v2
# centOS安装
$ sudo dnf install git-all
# Ubuntu安装
$ sudo apt install git-all
下载后,直接点击安装,一直默认点击到最后完成即可
git config --local user.name "your name"
git config --local user.email "[email protected]"
git config --global user.name "your name"
git config --global user.email "[email protected]"
git config --system user.name "your name"
git config --system user.email "[email protected]"
# 需要有root权限
注意:以上设置用户名和邮箱,主要用来确保提交版本的人是谁?该命令仅仅执行一次就行!
原来地址:https://gitee.com/mei_mayun/note.git
修改地址:https://用户名:密码@gitee.com/mei_mayun/note.git
#例如:
git remote add origin https://用户名:密码@gitee.com/mei_mayun/note.git
git push origin master
# 1,生成公钥和私钥命令(默认保存在 当前用户/.ssh/目录下,id_ras.pub为公钥,id_ras为私钥):
ssh-keygen
# 2,拷贝公钥里的内容,添加到gitee.com的仓库后台
# 3,在git本地配置中,配置ssh地址
git remote add origin git@gitee.com:mei_mayun/note.git
git push origin master
在项目根目录下,创建文件 .gitignore ,在推送线上时候,将忽略的文件
# .gitignore
# pycharm
.idea/
.DS_Store
__pycache__/
*.py[cod]
*$py.class
# Django stuff:
local_settings.py
*.sqlite3
# database migrations
*/migrations/*.py
!*/migrations/__init__.py
用于对项目的跟踪待办事项、bug、功能需求等!
用于对项目的深入了解,展示整个功能的内容等!
通过fork源码,将对方的代码拷贝到本地,当自己二次开发或者修复bug以后,通过new pull request 提交申请,对方一旦通过,即可有自己提交记录
git init
git status
# 新增加的文件和修改过的文件都是红色
git add 文件名
git add .
git commit -m '项目第一次提交'
git log
情况一
第一次 回滚:在执行 git log 命令后,看到版本号
git log
git reset --hard 版本号
第二次 恢复回滚:需要新的命令 git reflog 命令后,看到版本号进行回滚
git reflog
git reset --hard 版本号
情况二
【将红色变回无色】
工作开始(A状态),从线上拉下代码后,在没有执行任何git命令时, 发现本地写代码出现问题状态(B状态)。此时,想要恢复回滚到刚开始工作时的状态(A状态)时,执行命令:
git checkout -- 文件名
【将绿色变回红色,再回无色】
工作开始(A状态),从线上拉下代码后,修改文件后(B状态),执行了**git add . ** 命令时(C状态)。此时,想要恢复回滚到修改后文件(B状态)时,执行命令:
git reset HEAD 文件名
再次回到未更改的开始文件(A状态)时,执行命令:
git checkout -- 文件名
git branch #查看
git branch dev #创建dev
git checkout dev #切换dev
合并分支
如果打算将dev分支,合并到master主分支上,需要先切换回master主分支后,再执行合并命令:
git checkout master # 切换回主分支
git merge dev # 将dev分支合并回master主分支
git branch -d dev # 删除dev分支
**注意:**对应出现“代码冲突”后,代码管理过程中,在pull或者分支合并过程,均会出现冲突,找到对应文件,手动更改代码解决冲突后需要进行再次提交成为新的版本:
git add .
git commit -m '冲突解决版本'
git remote add origin 远程仓库地址
git push 远程仓库地址 master # 将代码推送到master的分支上
git push origin master # 与上面命令相同
进入自己想要存放代码的目录,执行克隆下载命令:
git clone 远程仓库地址(origin)
注意: a, 在执行 clone
命令后,默认已经将默认别名命名为origin
,
即执行了命令:git remote add origin 远程仓库地址
了
b, clone到新环境下的代码包括了所有的分支,但是命令查看 git branch
时,只显示master
分支!
但是,是可以直接切换 git checkout 其他分支名称
其他分支!
仅仅拉取更改过的代码,不用克隆所有代码:
git pull 远程仓库地址(origin) dev
#此命令相当于一下两个命令:
git fetch origin dev
git merge origin/dev
# clone线上仓库代码到本地
git clone 远程仓库地址
# 切换到dev分支
git checkout dev
# 将主分支master合并到dev分支(更新最新代码)
git merge master
# 进行代码开发
....
# 在公司提交代码到dev
git add .
git commit -m '公司开发-分支dev'
git push origin dev
# 切换分支dev进行开发
git checkout dev
# 更新最新代码到本地
git pull origin dev
# 继续开发
....
# 在家提交代码到dev
git add .
git commit -m '家里开发-分支dev'
git push origin dev
第二天,到公司进行开发,重复上面回家开发进行的步骤即可…
# 先切换回master分支后,将dev分支合并到master分支上,进行上线,并且推送到远程仓库:
git checkout master
git merge dev
git push origin master
# 将dev分支也更新最新代码,推送到远程仓库
git checkout dev
git merge master #(注意此处最好将master分支,再次回并到dev,保证代码完全一致)
git push origin dev
回家后,需要将两个分支分别更新本地:
git pull origin master
git pull origin dev
git rebase 分支
git log --graph
git log --graph --pretty=format:"%h %s"
通过使用软件 beyond compare 来快速解决冲突。
下载地址:https://www.beyondcomparepro.com/download/
双击直接安装,记下安装地址
git config --global merge.tool bc4
git config --global mergetool.bc4.cmd "\"D:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
git config --global mergetool.bc4.trustExitCode true
git config --global mergetool.keepBackup false
#此路径为安装目录:"D:\Program Files\Beyond Compare 4\BCompare.exe"
注意:此配置后,仅仅在当前项目中生效
git mergetool
创建组织、邀请
git tag -a v1.0 -m '第一版本'
通过后台pull request的方法,申请review代码
强制将本地推送到远程仓库,即覆盖远程仓库(谨慎操作):
git push -f --set-upstream origin dev
如果本地代码做了改动,但是又不想保留这些改动,可以使用以下命令强制拉取远程最新代码,覆盖掉本地代码:
git fetch --all
git reset --hard origin/dev