如果程序员有兵器排行榜,那么 Git 一定能排到前三!下面看看我为你精选的一些常见 Git 操作。
⚠️ 注意:
- 以
$
符号开头的一些变量,需要你手动替换成实际情况。
- 所有 git 命令后面加上
-h
,可以查看详细的帮助。
1 配置
配置有一个通用属性就是作用域,全部仓库有效使用 --global
,当前仓库有效使用 --local
,下面在我仅会列出的 --global
的命令,如果你只需要对当前仓库使用,可以自己替换成 --local
。
1.1 常见配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git config --global user.name $your_name git config --glbbal user.email $your_email
git config --global --list
git config --global --unset $config_item
git config credential.helper store
git config --global alias.cm commit git cm -m $commit_message
|
1.2 配置代理
为啥要给 Git 配置代理呢? 一个字:慢
!
比如我在不使用代理时大概 10k/s
,而配置了以后 1m/s
以上,爽的飞起!
1 2 3 4 5 6 7 8 9 10 11 12
|
git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0.0.1:1080
git config --global http.proxy socks5://127.0.0.1:1080 git config --global https.proxy socks5://127.0.0.1:1080
git config --global --unset http.proxy git config --global --unset https.proxy
|
2 分支
2.1 列出分支
1 2 3 4 5
| git branch -v
git branch -av
|
2.2 创建分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| git branch $new_branch_name
git branch $new_branch_name $branch_name
git branch dev origin/dev
git branch $new_branch_name $commit_id
git checkout -b $new_branch_name
git branch $new_branch_name git checkout $new_branch_name
|
2.3 删除分支
1 2 3 4 5 6 7 8
| git branch -d $branch_name
git branch -D $branch_name
git push origin --delete $branch_name
|
3 撤销
1 2 3 4 5 6 7 8
| git rm --cached $file
git checkout -- $file
git reset HEAD $file
git reset --hard HEAD $file
|
4 比较
1 2 3 4 5 6
| git diff
git diff --cached
git diff --staged
|
5 删除
1 2 3 4 5
| git rm $file
rm $file git add $file
|
6 标签
1 2 3 4 5 6 7 8 9 10
| git tag $tag_name
git tag -a $tag_name -m $tag_message
git tag -a $tag_name $commit_hash_key
git push origin $tag_name
git push origin --tags
|
7 其他
1 2 3 4 5 6 7 8 9 10 11 12 13
| git commit -a -m $commit_message
git commit -am $commit_message
git commit --amend
git clone $url --depth 1
git clone -b $branch_name $url
|
8 问题
8.1 git:’credential–h’ 不是一个 git 命令
问题详情:
1
| git:'credential--h' 不是一个 git 命令。参见 'git --help'。
|
解决方法:
9 参考