【Git】Git常用命令——如何操作本地仓库&远程仓库?

基本设置

设置用户信息

git config --global user.name "Samarua"

git config --global user.email "123456@qq.com"

git config --global user.xxxx "xxxx"

获取用户信息

git config user.name

git config user.email

git config user.xxxx

查看配置信息

git config --list

新建一个本地Git仓库

创建一个文件夹,然后cd到该文件夹下:
git init
然后该文件夹就成为了本地Git仓库的工作区,且自动生成了一个隐藏文件夹.git

克隆一个本地Git仓库

git clone https://xxx.xxx.xxx
效果和上面的本地新建完全一致,也是存在一个隐藏文件夹.git

 
 

操作本地仓库

查看工作区的文件状态

git status

查看工作区的文件状态(简洁输出,常用)

git status -s
如果看不到任何的输出,那是因为我们还没有对工作区的文件做任何的修改,未修改状态(unmodified)的文件不会显示
另外,我们手动新建在工作区的文件,处于未跟踪状态(untracked),是会显示的!!!

将文件加入暂存区

git add xxx
未跟踪状态(untracked)的文件被加入暂存区,同时也即进入了已跟踪状态(tracked)
未修改状态(unmodified)的文件是无法加入暂存区的,因为这没有意义

将文件拿出暂存区

git reset xxx
回到加入暂存区之前的状态

将暂存区提交到本地仓库

git commit -m "xxxxxxxxxx"
-m是用来写日志信息的,如果不加上就会弹出类似vim的编辑器强制你写 >_<
这是提交全部的暂存区,也可以加上文件名提交某一个文件
提交后的文件就不存在于暂存区了,它转化为了未修改状态(unmodified)且不显示了

一步到位将非暂存区文件提交到本地仓库

git commit -a -m "xxxxxxxxxx"

删除文件

git rm xxx
被删除的文件会进入暂存区,commit提交后被真正删除

将文件加入至忽略列表

有些文件无需纳入Git管理(自动生成的日志文件啊,临时文件啊...),但它们总是出现在未跟踪(untracked)文件列表
因此,我们在工作区中新建一个.gitignore文件(固定名称,无后缀,被自动隐藏),并在该文件中进行配置:
# 忽略所有的.txt文件
*.txt
# 但不忽略loli.txt文件
!loli.txt
# 忽略所有aaa文件夹及其子文件
aaa/

查看日志

git log
回车继续查看更早日志;"q"退出查看

 
 

操作远程仓库

查看所有远程仓库

git remote
如果该本地仓库是从远程仓库克隆下来的,则它至少关联了一个别名为origin的远程仓库

查看所有远程仓库(更加详细的信息)

git remote -v
不仅看到别名,还能看到远程仓库url等信息

查看某个远程仓库(更加更加详细的信息)

git remote show xxx

给本地仓库关联一个远程仓库

git remote add xxx https://xxx/xxx/xxx
其中的第一个xxx是远程仓库的别名,自己起一个就行

从远程仓库克隆到本地

git clone https://xxx.xxx.xxx
克隆是是Git远程仓库上的几乎所有数据(日志信息,历史记录),即每一个文件的每一个版本

移除本地对远程仓库的关联

git remote rm xxx
其实该命令删除的是关联关系,并未真正影响到远程仓库

从远程仓库中抓取/合并

git fetch xxx xxx
从远程仓库抓取(fetch)到最新版本放到本地仓库,但没有自动合并(merge),所以工作区中看不见抓取来的文件
git merge xxx xxx 
因此还需要手动将被抓取到本地仓库中的最新版本文件合并(merge)到工作区中
另:第一个xxx是远程仓库别名,第二个xxx是分支名称(下同)

从远程仓库中拉取

git pull xxx xxx
完全等价于fetch+merge,即获取最新版本后自动合并到工作区
注意:
如果本地仓库不是克隆来的,而是新建后再关联的,那么如果本地仓库中存在文件,就会拉取失败并报错。此时应该这么写:
git pull xxx xxx --allow-unrelated-histories

推送到远程仓库

git push xxx xxx
推送到了某个仓库(xxx)的某个分支(xxx)

 
 

场景演示

下面将演示一个从Git远程仓库中下载(拉取)文件,修改后再上传(推送)至Git远程仓库的实际开发场景。

1)生成一个关联了远程仓库的本地仓库(方法二选一)

# 方法二: 自己新建
git init
git remote add origin https://gitee.com/samarua/lolihouse.git
git pull origin master

# 方法二: 直接克隆
git clone https://gitee.com/samarua/lolihouse.git

2)修改hello.txt文件,将其从工作区放入本地仓库

# 放到暂存区
git add hello.txt
# 提交到本地仓库
git commit -m "修改hello文本文件"

# 一步到位
git commit -a -m "修改hello文本文件"

3)从本地仓库推送回远程仓库

git push origin master

 
 
 
 

 
 
 
 

 
 
 
 

>_<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值