工作中Git使用笔记
git相关说明。
//git 安装
$ git config --global user.name "xxx"
代码提交时的用户名,与GITLAB注册用户名建议保持一致
$ git config --global user.email xxx@zte.com.cn
代码提交时的用户邮箱地址,与GITLAB注册信息建议保持一致
$ git config --global core.autocrlf false
代码提交和检出时不做CRLF(Windows回车符)和LF(Linux回车符)的转换,代码编写时建议保持Linux文件格式。
$ ssh-keygen
生成ssh key,生成两个文件id_rsa,id_rsa.pub分别为私钥和公钥,一般位于C:\Documents and Settings对应的自己登陆用户名文件夹下的.ssh目录中,
比如C:\Documents and Settings\Administrator\.ssh。
关联远程库
git remote add origin git@gitlab.xxx.com.cn
本地库的所有内容推送到远程库
第一次推送master分支时,加上了-u参数,
Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push -u origin master
克隆远程库
git clone git@gitlab.xxx.com.cn:xxx/my-test-project.git
git clone git@gitlab.xxx.com.cn:xxx/zenap-fm.git
git clone ssh://xxx@gerrit.xxx.com.cn:29418/vCN-EM/vCN-EM-test
查看远程库
$ git remote
$ git remote -v
推送分支 注意是将本地的master分支推送到远程的 origin的master分支
$ git push <远程主机名> <本地分支名>:<远程分支名>
$ git push origin master
$ git push origin dev
创建分支
$ git checkout -b wurong
$ git branch dev
$ git checkout dev
查看分支
$ git branch
//合并分支 注意这里是两边,先checkout master,然后将dev合并到master分支
$ git checkout master
$ git merge dev
表示禁用Fast forward:
$ git merge --no-ff -m "merge with no-ff" yu
//删除分支
$ git branch -d dev
//建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name;
$ git branch --set-upstream dev origin/dev
新增文件,提交修改
$ git add readme.txt
$ git commit -m "branch test"
//将当期目录所有修改和新增的文件,目录提交到暂存区
git add .
//git add -A: [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。省略<path>表示.,即当前目录。
git add -A
//撤销add
git reset head .
//查看状态
$ git status
//git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂
$ git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master
//fetch 与 pull等价
git fetch origin master
git log -p master..origin/master
git merge origin/master
git pull origin master
代码修改步骤
git pull origin master
//
git checkout yu
git add .
git commit -m "add by xxx"
git checkout master
git merge --no-ff -m "merge with no-ff by xxx" yu
git pull origin master
git push origin master
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建加切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
//合并分支 注意这里是两边,先checkout master(切换到主分支),然后将wurong分支合并到master分支
git checkout master
git merge wurong
删除分支:git branch -d <name>
git add .
git commit -m "add by wurong"
git checkout master
git merge --no-ff -m "merge with no-ff by wurong" wurong
git pull origin master
git push origin master
git checkout wurong
git checkout wurong