git 如何去掉init_Git 命令使用(备忘)

6a4043b413e3977654602505b8d8f945.png

很早之前就用过 Git,SVN。这样来回切换,一些命令总是忘或者弄混淆了,这里主要备忘一下。

1,通用配置

git config --global user.name "lulei"

git config --global user.email mill0426@163.com

2,下载远程仓库

2.1,直接下载

打开对应目录,直接clone

cd /Users/lulei/Work/GitWork

git clone miLLlulei/AnnotationProcessor

说明:会自动创建AnnotationProcessor目录的。

2.2,先 init,再关联远程仓库

打开对应目录,先 init,再关联远程仓库

cd /Users/lulei/Work/GitWork/AnnotationProcessor

git init

git remote add origin miLLlulei/AnnotationProcessor

git pull origin master

说明:origin:本地仓库名 master:远程分支名

3,分支

3.1,查看当前分支

git branch 或者 git branch -vv

0f7e338431e615a97f31df72cca67050.png

如图,前面带 * 的是当前分支;

3.2,切换分支

git checkout master

3.3,创建分支

git branch testing

3.4,删除分支

git branch -d testing

4,提交

4.1,查看变更文件

git status

4.2,添加文件

git add <文件名>

git add .

. 代表所有目录|文件

4.3,提交文件

git commit -m "提交信息"

4.4,暂存,保存至堆栈区

当前分支有过修改,又不想提交,可以暂存再切到另外分支:

git stash

回来,还原修改:

git stash pop

5,合并

5.1,拉取

git pull <远程在本地库名> <远程分支名>:<本地分支名>

例子:把远程分支 master 拉取合并到 本地分支 dev_lulei

git pull origin master:dev_lulei

如果本地分支和远程分支关联了,可以直接 git pull

如何关联本地分支和远程分支:

确定当前本地分支是 dev_lulei,

git push --set-upstream origin dev_lulei

说明:origin:远程在本地的仓库名

dev_lulei:远程分支名

5.2,查看远程仓库在本地的名称,一般都是 origin

git remote

5.3,推送

git push <远程在本地库名> <本地分支名>:<远程分支名>

5.3,冲突

pull 之后可能会文件冲突,这时候可以用: git mergetool

5.4,查看提交历史

git log --pretty=format:"%h - %an, %ar : %s"

按 q,退出查看

5.5,合并

git merge master

当前分支是 dev_lulei, 把 master 分支合并到 dev_lulei。

5.6,删除缓存

git rm --cached <文件名>

有时候先使用 git add . 把所有代码添加到缓存了,但是有个别文件不想提交,可以再删除掉缓存。

5.7,已经commit了,回滚

git reset --hard <提交记录ID> 
# --hard:会把文件修改的内容全部还原 
# 提交记录ID:可以用 git log 查看。

5.8,没有add和commit,还原

# 还原某个文件到某个版本: 
git checkout <提交记录ID> <文件名> 
# 还原某个文件到上个版本: 
git checkout -- <文件名> 
# 还原所有文件到上个版本: 
git checkout .

5.9,永久删除文件,包括历史提交记录

# 删除某个文件 -- Test 目录下的 test.txt
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch Test/test.txt' --prune-empty --tag-name-filter cat -- --all
# 删除某个目录 -- Test 目录
git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch Test' --prune-empty --tag-name-filter cat -- --all
# 推送到远端,这步是不可逆的,注意备份源码
git push origin master --force --all
# 推送到你的所有 tag
git push origin master --force --tags

# 清除本地仓库 objects,这个是可选操作,因为不弄,等待gc也会清除的。
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值