git日常使用
一、从SVN迁出到本地Git仓库(还没有配置Git仓库的,直接看第八条)
git svn clone "<SVN项目路径>" ##注意路径需要双引号引起来
二、在远程仓库中新建对应名称的项目
http://git.xxx.cn (公司的gitlab地址)
三、将远程仓库项目与本地仓库代码做好映射
1. 建立与远程仓库的关联
git remote add origin git@git.xxx.cn:tms/demo.git
2. 将本地仓库代码同步到远程仓库
同步代码分支到远程仓库:git push -u origin --all
同步代码Tag到远程仓库:git push -u origin --tags
1. 建立与远程仓库的关联
git remote add origin git@git.xxx.cn:tms/demo.git
2. 将本地仓库代码同步到远程仓库
同步代码分支到远程仓库:git push -u origin --all
同步代码Tag到远程仓库:git push -u origin --tags
四、分支管理
1. 从当前分支中克隆一个新的分支:git branch -c <分支名称> ##从当前分支新建一个分支,并切换到新分支:git checkout -b <分支名称>
2. 将新建分支同步到远程仓库:git push origin <分支名称> ##不加分支名称,则把所有分支同步到远程仓库
3. 删除分支:git branch -d <分支名称>
4. 删除远程仓库分支:git push origin --delete <分支名称>
5. 查看当前项目的分支:git branch ##查看所有仓库分支,使用:git branch -a
6. 切换分支:git checkout <分支名称>
7. 将远程仓库已经存在的分支同步到本地仓库:git checkout <分支名称>
五、Tag管理
1. 查看当前存在的tag:git tag ##查看单个tag详情,可用命令:git show
2. 新建Tag:git tag ##带说明信息的tag,可用命令:git tag -a -m '<注释信息>'
3. 将新建的Tag同步到远程仓库:git push origin ##如果要把所有tag都同步到远程仓库,可用命令:git push origin --tags
4. 删除Tag:git tag -d
5. 删除远程仓库Tag:git push origin :refs/tags/
6. 将远程仓库Tag同步到本地:git fetch origin tag
六、代码管理
1. 从远程仓库拉取最新代码:git pull ##如果要拉取所有分支代码,可使用命令:git pull --all
2. 新建文件添加到版本库:git add <文件名> ##如果要添加多个文件,可使用命令:git add -A
3. 将当前项目中的改动同步到本地仓库中:git commit -m "日志"
4. 将本地仓库中的代码同步到远程仓库:git push
5. 将develop分支的改动同步到master分支:1)git checkout 2) git merge
6. 修改已commit,但还未push的提交日志(vi操作命令):git commit --amend
七、日志查看
1. 查看全部提交日志:git log
2. 查看某个人的提交日志:git log --author=
3. 依次查看详细的提交内容:git log -p ##如果要查看指定的一次提交记录, 后面加上 commitID即可
八、配置Git仓库
1. 配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
2. 秘钥
2.1 生成秘钥
ssh-keygen -t rsa -C "you@example.com"
2.2 添加sshkey至ssh-agent
2.2.1. 执行eval “$(ssh-agent -s)”确认ssh-agent处于开启状态,打印pid... 表示启用中;
2.2.2. 执行指令ssh-add ~/.ssh/id_rsa 添加ssh key至ssh agent
3. 添加sshkey至github
4. 测试连通性
ssh -Tgit@github.com
5. 本地项目和github项目建立连接
git remote add origin git@git.xxx.cn:tms/demo.git
6. 初始化项目,进入项目根目录
git init
7.解决master push失败(两边代码不同步的问题)
7.1 git pull --rebase origin master
7.2 git push -u origin master