Git Advance Command

Git 常用命令

初始化

1
git init

创建文件

1
touch README

添加文件

1
git add README

提交文件

1
git commit -m 'first commit'

关联分支

1
git remote add origin [email protected]:devteam/common-util.git

更新远程到本地。

1
git pull origin master

提交本地到远程

1
git push -u origin master

更新某个分支

1
git pull origin active_packet

git 切换本地分支

1
git checkout -b origin/user_score

新建tag,切换到需要打tag的分支上

1
git tag v20220511

查看tag

1
git tag

代码量统计

1
git log --author="Tim" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

切换流到master

1
git branch --set-upstream-to=origin/master

error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java Please, commit your changes or stash them before you can merge. Aborting

1.stash

通常遇到这个问题,你可以直接commit你的修改;但我这次不想这样。

看看git stash是如何做的。

1
2
3
git stash 
git pull
git stash pop

2.放弃本地修改,直接覆盖之

1
git reset --hard git pull

生成ssh key

1
ssh-keygen -o

生成带邮箱的

1
ssh-keygen -t rsa -C "[email protected]"

生成RSA的密钥

1
ssh-keygen -m PEM -t rsa -b 2048 -C "[email protected]" 

git clone 命令:

1
git@ali_server:/home/git/git_repository/my_material_sync
1
2
git config user.name
git config user.email

如果你用 git commit -a 提交了一次变化(changes),而你又不确定到底这次提交了哪些内容。你就可以用下面的命令显示当前HEAD上的最近一次的提交(commit):

1
git show

或者

1
git log -n1 -p

网络:

github 链接不上时,可以使用测试

1
ssh -T -v github.com

设置代理:

1
git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080'

取消代理:

1
git config --global --unset http.proxy git config --global --unset https.proxy

如果你的提交信息(commit message)写错了且这次提交(commit)还没有推(push), 你可以通过下面的方法来修改提交信息(commit message):

1
$ git commit --amend --only

这会打开你的默认编辑器, 在这里你可以编辑信息. 另一方面, 你也可以用一条命令一次完成:

1
$ git commit --amend --only -m 'xxxxxxx'

如果你已经推(push)了这次提交(commit), 你可以修改这次提交(commit)然后强推(force push), 但是不推荐这么做。

提交(commit)里的用户名和邮箱不对

如果这只是单个提交(commit),修改它:

1
$ git commit --amend --author "New Authorname <[email protected]>"

如果你需要修改所有历史, 参考 ‘git filter-branch’的指南页.

我想从一个提交(commit)里移除一个文件

通过下面的方法,从一个提交(commit)里移除一个文件:

1
2
3
git checkout HEAD myfile
git add -A
git commit --amend
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

请我喝杯咖啡吧~

支付宝
微信