Git常用命令及使用建议

个人建议大部分操作使用图形化软件操作,TortoiseGit

image.png

一、配置GIT

# 配置全局用户
$ git config --global user.name "用户名"
$ git config --global user.email "git账号"
# 配置别名
$ git config --global alias.co checkout
$ git config --global alias.ss status
$ git config --global alias.cm commit
$ git config --global alias.br branch
$ git config --global alias.rg reflog
# 这里只是美化 log 的输出,实际使用时可以在 git lg 后面加命令参数,如:git lg -10 显示最近10条提交
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# 删除全局配置
$ git config --global --unset alias.xxx
$ git config --global --unset user.xxx

 

二、常用命令

# 查看工作区和暂存区的状态
$ git status

# 将工作区的文件提交到暂存区
$ git add .
$ git add [file1] [file2] ...
$ git add [dir]

# 提交到本地仓库
$ git commit -m "本次提交说明"
# add和commit的合并,便捷写法(未追踪的文件无法直接提交到暂存区/本地仓库)
$ git commit -am "本次提交说明"
# 合并本次提交至上次的提交
$ git commit --amend
# 如果本次提交相比上次的提交有新增的文件修改,要先add
$ git add [newModifyFile]
$ git commit --amend

# 将本地分支和远程分支进行关联
$ git push -u origin branchName
# 将本地仓库的文件推送到远程分支
$ git push
# 拉取远程分支的代码
$ git pull origin branchName
# 合并分支
$ git merge branchName
# 查看本地拥有哪些分支
$ git branch
# 查看所有分支(包括远程分支和本地分支)
$ git branch -a
# 切换分支
$ git checkout branchName
# 临时将工作区文件的修改保存至堆栈中
$ git stash
# 将之前保存至堆栈中的文件取出来
$ git stash pop

 

三、开发建议

1、一般情况下我们会在master下拉取代码,建议开发的时候以master为基础建立新的分支,在新的分支上开发

$ git branch branchName // 以当前分支为基础新建分支

$ git checkout branchName // 切换到新分支

$ git checkout -b branchName master // 以master为基础新建分支并切换到分支

 

2、所有在本地修改的文件(不管在master还是其他分支),未commit之前,可以理解这些文件隶属于workspace,直到commit到具体分支,提交的部分隶属于具体分支

所以,建议在一个新分支上开发功能,例如TestBranch,提交代码时,如果本次提交需要拆分多次提交,可以以TestBranch为基础新建多个分支,例如:TestBranch1、TestBranch2、TestBranch3,这样搞的好处是利用多个分支push修改,多次提交之间没有依赖性,不会出现最先提交的代码需要修改的情况下会影响后提交的代码

 

3、代码走查不通过的情况下,建议使用amend来修改上次的提交,而不是Abandoned后再进行新的提交

$ git commit --amend // 建议使用TortoiseGit

 

4、对其他同事以合入代码,而与本地修改冲突时,可以先将本地已修改的代码stash掉,再pull远程的代码,再将stash pop出来,然后解决冲突再提交

$ git stash // 建议使用TortoiseGit

$ git stash pop // 建议使用TortoiseGit

 

5、分支之间的代码合并

    5-1,将开发分支代码合入到master中

git checkout dev           #切换到dev开发分支
git pull
git checkout master
git merge dev              #合并dev分支到master上
git push origin master     #将代码推到master上

    5-2,将master的代码同步更新到开发分支中

  merge方法:保证主干提交线干净(可以安全回溯)

git checkout master
git pull
git checkout dev
git merge master
git pull origin dev

 

6、其他所有操作,比如reset、rebase、revert等操作,建议使用TortoiseGit

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值