git 我的常用命令

时间:2021-10-19 18:51:26

git config --list  查看配置

git config --global user.name zhiqsyr  配置用户名:zhiqsyr

git config --global user.email zhiqsyr@163.com  配置邮箱

git config --global credential.helper cache  设置记住密码(默认15分钟)

git config --global credential.helper  'cache --timeout=3600'  设置记住密码一个小时

git config --global credential.helper store  设置长期存储密码(在下一次拉远程代码输完帐号后生效)

git remote add origin http://name:password@gitee.com/name/project.git  增加远程地址,带上密码

git config --global --unset core.quoteapth  删除配置 core.quoteapth 

 

git init  在当前目录建立 git 管理

git clone -b standalone http://gitee.com/name/project.git apache-tomcat-basecenter  克隆 standalone 分支到 apache-tomcat-basecenter 文件夹下

 

git status  查看工作区还没 add 的改动文件

git diff  查看工作区还没 add 的改动文件具体详情

git diff --cached  查看已 add 还没 commit 文件

git diff HEAD  git diff 、git diff --cached 两条合并

git add <file>  将指定文件添加到索引库,以备 commit

git add .  将当前路径下所有新增或修改(不包括删除)的文件添加到索引库

git update-index --assume-unchanged <file>  文件已经加入版本管理,再做修改不希望加入提交队列

git update-index --no-assume-unchanged <file>  取消上面一条命令,还是加入提交队列

git reset <file>  将指定文件从索引库移除,commit 时不会提交该 file

git reset -- .  将当前路径下索引库中所有文件移除

git rest --hard <commit-hash-id>  回退到 <commit-hash-id> 版本

git checkout <commit-hash-id> <file>  回退文件 <file> 到 <commit-hash-id> 版本

git rm --cached <file>  删除本地版本库中指定文件

git rm -r --cached <file>  删除本地版本库中指定文件夹及其子文件,git rm -r -n --cached <file> 查看上述将要删除的文件列表

git log  查看提交历史(时间倒序)

git log -n 1 --stat  最近一次提交改动的文件(常用)

git log -n 1 -p  最近一次提交更改的细节

 

分支

git branch -a  查看所有分支

git branch -m standalone master  把名为 standalone 分支改为 master(-m 写成 -M,表示强制修改)

git branch -d test  删除本地 test 分支

git branch -d -r origin/test  删除远程 test 分支;删除后还要推送 git push origin :test

 

远程仓库

git remote -v  查看远程仓库信息(名称、地址)

git remote add origin https://gitee.com/iclassroom/WeiKe.git  为本地 git 库绑定远程库,并指定别名为 origin(https://gitee.com/iclassroom/WeiKe.git/ 更为精确)

git remote rm origin  解除绑定 origin 远程仓库

git pull origin master  pull 远程 origin 仓库 master 分支;假如 refusing to merge unrelated histories,命令后加 --allow-unrelated-histories

 

合并分支

git diff master origin/standalone --stat  比较本地 master 与远程 origin/standalone 分支差异(需要本地先 git fetch orgin)

git rebase origin/standalone  合并远程 origin/standalone 分支代码到当前分支,不会产生交叉(单祖先,推荐)。此时 ours=origin/standalone,theirs=当前分支,原因

  git checkout --theirs <file>  使用当前分支文件

  git checkout --ours <file>  使用远程 origin/standalone 分支文件

git merge origin/standalone  合并远程 origin/standalone 分支代码到当前分支,会产生交叉(多重祖先,容易产生问题)。此时 ours=当前分支,theirs=origin/standalone