一、安装后初始化
1、当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
# 配置全局的个人信息
git config --global user.name "kzzf"
git config --global user.email "xxxx@qq.com"
git config --list # 查看配置信息
2.配置ssh
# 会让输入密码,我是直接回车了,直接使用ssh-keygen也行
ssh-keygen -t rsa -C 7796****@qq.com -b 4096
# 生成密钥的位置,会生成两个密钥文件:id_rsa和id_rsa.pub
C:\Users\77962\.ssh\
# 复制id_rsa.pub中的内容,在远端的git仓库新增ssh密钥
3.对仓库的简单操作
git clone git@gitee.com:xxx/git_test.git
git remote -v # 查看远程仓库信息
git push origin master # 推送到origin仓库的master分支,远程没有master分支时会自动创建
git checkout -b dev # 创建本地开发分支
git push origin dev # origin相当于仓库名
# 合并dev分支后推送
git checkout master
git merge dev
git push origin master
# 合并dev分支后推送
git branch -D dev
git push origin :dev # 将本地的空仓库推送到dev
# 回滚
$ git reflog # 查看commit记录
a9c4ea1 (HEAD -> master, origin/master) HEAD@{0}: merge dev: Fast-forward
ec89194 HEAD@{1}: checkout: moving from dev to master
a9c4ea1 (HEAD -> master, origin/master) HEAD@{2}: commit: dev功能开发
ec89194 HEAD@{3}: checkout: moving from master to dev
ec89194 HEAD@{4}: commit (initial): 初次提交
$ git reset --hard head^ # 回退到上一次提交
# git reset --hard ec89194 # 回退到指定commit
# 此时推送会显示本地分支版本落后,不让push
$ git push origin master
To gitee.com:Master-Sun/git_test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:Master-Sun/git_test.git'
hint: Updates were rejected because the tip of your current branch is behind
git push -f origin master # 使用-f强制推送
二、基本命令
将项目从github导入到码云
1.远程仓库新建开发分支
默认的主分支为master,新建一个开发分支dev
分支命名规则参考:https://blog.csdn.net/qq_33858250/article/details/81047883
2.本地git命令流程
git clone https://gitee.com/Master-Sun/***.git
git branch # 查看本地分支
git branch -a # 查看远程分支
# 远程仓库已创建dev和master分支,拉到本地后自动创建本地分支dev和master,并自动追踪对应的远程分支
git checkout dev # 切换分支
# 修改代码后
git status
git add .
git commit -m "本次提交的信息:比如某个bug的修复或功能的开发"
git push # 默认提交到远程的同名分支
# 如果本地的开发分支和追踪的远程分支不同名,用此命令提交
git push origin HEAD:dev
3.合入主分支
在码云上进行pull requests操作,将dev的修改merge到master分支,或者使用merge命令
git checkout dev
git pull
git checkout master
git merge dev
git push
4.gerrit使用流程
# 新建本地分支2018.3.15.P7 ,追踪远程分支2018.3.15.P7
git checkout -b 2018.3.15.P7 origin/2018.3.15.P7
git pull
# 在本地分支2018.3.15.P7的基础上新建开发分支bug_test_P7
git checkout -b bug_test_P7
git add .
git commit -m "..."
git push origin HEAD:refs/for/2018.3.15.P7
# 再次修改后复用commit
git add .
git commit --amend
git push origin HEAD:refs/for/2018.3.15.P7
# 代码冲突
git checkout 2018.3.15.P7 # 切换到本地主分支(追踪的远程分支2018.3.15.P7)
git pull # 更新本地分支
git checkout bug_test_P7
git rebase 2018.3.15.P7 # 合入修改,使用编辑器修改冲突的部分
git add .
git status # 查看rebase之后的状态
git rebase --continue # 合入修改
git push origin HEAD:refs/for/2018.3.15.P7 # 推送远程分支,change_id不变
5.git命令补充
git branch -D branchname # 删除分支
git branch -m bug_i18n bug_i18n_new # 重命名本地分支
git diff master # 和本地分支对比
git diff origin/master # 和远程分支对比
git checkout . # 放弃所有文件的修改
git checkout -- OfferHelp/settings.py # 放弃单个文件的修改
三、将本地已有项目提交到远程仓库
参考:https://www.cnblogs.com/eedc/p/6168430.html
在gitee上新建一个仓库,建完后有提交操作的示范
git init
git add .
git commit -m 'first commit'
git remote add origin 你的远程库地址 # 关联远程仓库
git pull --rebase origin master
git push -u origin master
git fetch # 获取远程分支信息(如果远程建了多个分支)