常用Git命令笔记

1. 设置全局邮箱和姓名
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
2.在现有目录中初始化仓库
git init
3.跟踪文件并提交
git add . (添加项目目录下所有文件至暂存,会变成暂存状态)
git add <file> (添加指定文件到暂存,会变成暂存状态)
git commit -m "提交内容备注"
4.克隆现有仓库
git clone https://github.com/demo
git clone https://github.com/demo mydemo (克隆并命名)
git clone -b branchName  https://github.com/demo # 克隆指定分支
5.检查当前文件状态
git status
6.查看已暂存和未暂存的修改
① git diff (未暂存)
② git diff --cached (已暂存)
③ git diff --staged (已暂存)
说明:②和③效果相同,但③在Git1.6.1及更高版本才能使用
7.跳过使用暂存区域, -a选项可以跳过git add操作
git commit -a
8.移除文件
git rm <file> (移除跟踪,并删除本地磁盘上的文件)
git rm -f <file> (如果删除之前修改过并且已经放到暂存区域的话,可以使用-f选项强制删除)
git rm --cached <file> (仅仅移除跟踪,保留本地磁盘上的文件)(常用)
9.移动文件
git mv <file_from> <file_to>
10.在本地仓库添加一个远程仓库
git remote add origin https://gitee.com/itoak/git_practice.git
说明:origin为远程仓库名称,可以自定义其他名字

关于远程其他命令:
git remote (查看本地已经配置的远程仓库)
git remote (查看本地已经配置的远程仓库,并显示URL)
git remote show [remote-name] (查看远程仓库详细信息)
git remote rename origin itoak (重命名远程仓库)
git remote rm itoak (删除本地已配置的远程仓库)
11.将当前分支推到远程分支
git push origin master (将当前分支推送到远程master分支)
git push -f origin master (将当前分支强制推送到远程master分支,用于覆盖远程master分支,谨慎操作)
12.设置远程分支与本地分支的跟踪
设置理由:为啥要设置本地分支跟踪远程分支,如果没有设置本地分支跟踪指定远程分支,那么每次执行
git pull或者git push的时候就需要指定远程分支,比较麻烦。在设置跟踪远程分支后,就可以直接使用
git pull 和git push操作。
设置方式:
git branch --set-upstream-to=origin/master master (设置本地master分支跟踪远程master分支)
或者
git branch -u origin/master (设置当前本地分支跟踪远程master分支)
13.查看提交历史(详细参数未列出)
git log

查看最后一次提交:git log -1 HEAD
14.关于撤销的几个命令
git commit --amend
说明:这个命令会将暂存区域中的文件提交。如果自上次提交以来你还未做任何修改,
(例如,在上次提交后马上执行了此命令),那么快照会保持不变,而你所修改的只是提交信息。

git reset HEAD <file> 
说明:取消指定文件的暂存(即撤销git add操作)

git checkout -- <file>
说明:(该命令对未暂存的文件有效)撤销对文件的修改,将它还原成上次提交时的样子,谨慎使用

git commit之后,还没有push,想撤销commit的解决方案:
git reset --soft HEAD^(等同于git reset --soft HEAD~1)
如果进行了2次commit,想都撤回,可以使用:
git reset --soft HEAD~2

git reset的参数扩展阅读:
--mixed 
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft  
不删除工作空间改动代码,撤销commit,不撤销git add . 
--hard
删除工作空间改动代码,撤销commit,撤销git add . 
注意完成这个操作后,就恢复到了上一次的commit状态。
15.关于分支命令
git branch (列出所有本地分支)
git branch -r (列出所有远程分支, 类似 git ls-remote [remote-name])
git branch -a (列出所有本地分支和远程分支)
git branch [target-branch-name] [source-branch-name] 
(基于[source-branch-name]创建新的分支[target-branch-name], 若省略[source-branch-name], 则默认基于当前分支创建)

git branch -d [branch-name] (删除指定分支,删除分支时,指定分支不能为当前分支;如果替换为 -D,则表示强制删除)
git branch --merged (列出所有已经合并到当前分支的分支)
git branch --no-merged (列出所有未合并到当前分支的分支)
git branch -vv (查看本地分支详细信息,如:跟踪信息)

git checkout -b [target-branch-name] [source-branch-name]
说明:创建一个新分支,并切换至新分支
source-branch-name 可以省略,则默认从当前分支检出新分支,
若指定source-branch-name,则从指定分支检出新分支,source-branch-name可以是本地分支,可以是远程分支。
当指定source-branch-name为远程分支时,效果类似:
git checkout --track [remote-name]
16.从远程仓库中抓取与拉取
git fetch [remote-name]
17.合并分支
git merge [branch-name] (将[branch-name]分支上的内容合并到当前分支)
18.删除远程分支
git push origin --delete develop (删除远程develop分支)
19.fatal: refusing to merge unrelated histories
git pull --allow-unrelated-histories

该操作是合并两个没有关联的版本,执行此操作前需明确执行结果!

20. git bash下查看状态无法显示中文文件名
git config --global core.quotepath false

学而时习之

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值