git 操作
追踪文件
git add . (追踪当前目录下所有不被.gitignore文件)
或者
git add fileName
#形成一个提交
git commit 然后输入提交信息
或者 git commit -m “commitMessage”
#修改上次提交
git add file
git commit --amend
重置
git reset --soft commit-Id (修改内容还在暂存区)
git reset --hard commit-Id (所有修改被清除)
分支切换
git branch -v //查看分支
git branch //创建新的分支
git checkout //切换到某一分支
git checkout -b //切到一个新的分支
git branch -D //删除分支 (不可恢复)
推送到代码服务器上
git push origin HEAD:
# origin 代码服务器地址名称
git remote add origin url // 添加服务器地址
git remote set-url origin url //重新设置服务器地址
# HEAD
指当前的分支
# remote branch
远端服务器分支
解决冲突
git pull --rebase origin master
修改冲突文件
git add file
git rebase --continue
Gerrit 操作
project owner
在服务器web端 建立项目
Projects —> Create New Project —>
Project Name: 写成英文
Rights Inherit From: All-Projects (所有项目的权限都继承于All-Projects的权限)
创建完成后可以在 general 标签下面看到地址 (点击clone 标签和http 标签出现 git clone url
##本地操作
工程根目录
git init
git remote add origin url
git config (–global) user.name username
git config (–global) user.email username 注意邮箱要和注册的邮箱一致
添加.gitignore
git add .
git commit -m “commitMessage”
git push -f origin HEAD:master(project owner 可以push 到 master)
commiter
# Change-Id
http://host:1986/tools/hooks/commit-msg
添加到 .git/hooks/ 目录下 修改权限为可执行文件
Change-Id : 每次开发一个新的功能都会有一个新的Change-Id
修改提交 git commit --amend 的时候
Change-Id不改变 Commit-Id改变
这是Gerrit特有的功能 每一个功能点的开发都有唯一的Change-Id
工作流程
本地
git checkout master (切换到主分支)
git pull origin master (同步到最新的代码)
git checkout -b (切换到新的分支上 )
编辑代码
git add .
git commit -m “commit message”
git push origin HEAD:refs/for/master
//上传到草稿箱别人不能阅读你的代码
git push origin HEAD:refs/drafts/master (草稿箱)
//设置别名
git config alias.for “push origin HEAD:refs/for/master”
git config alias.drafts"push origin HEAD:refs/drafts/master"
此时执行 git for 就相当于执行 git push origin HEAD:refs/for/master
此时执行 git drafts就相当于执行 git push origin HEAD:refs/drafts/master
服务器web端
#### Verified
+1
Code Review
+2
Submit
提交之后分支就合并到了主分支上
####解决冲突
如果状态栏显示Merge Conflict
则需要手动解决
1 在本地的当前开发分支上执行 git pull --rebase origin master
2 手动编辑冲突的文件
3 git add 冲突文件
4 git rebase --continue
5 git push origin HEAD:refs/for/master
6 在服务器web 端 点击Submit 合并分支
1 git inti (初始化仓库)
2 git status (查看状态)
Untracked files:
(use “git add …” to include in what will be committed)
未追踪的文件: (使用 git add 命令 把它放到暂存区)
1 git add .
git add 文件名(按tab快捷键提示文件名)
2 git status (查看git 仓库当前状态)
Changes to be committed:
(use “git rm --cached …” to unstage)
改变需要被提交 (使用 “git rm --cached ” 废弃这个文件)
3 git commit -m “提交信息”
(如果未配置邮箱和用户名 需要配置
git config user.name zhangtian
git config user.email “你的邮箱”)
4 git status
5 git log