Git常用命令总结


Linux上先输入 git看是否已安装,安装命令 sudo apt install git ; sudo apt-get install git
在Windows上安装Git:使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/

初始配置(新的电脑git clone)

Git 配置:因为Git是分布式版本控制系统,每个机器都需要一个标识,也就是:你的名字和Email地址。

git config --global user.name "XX"
git config --global user.email "xxx@xxx.com"

git地址配置

C:\Windows\System32\drivers\etc里找到hosts文件,添加ip+域名
在这里插入图片描述

SSH Key设置

本地Git仓库和GitHub仓库之间的传输是通过SSH加密,需要设置:

  1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,没有则进行下一步。创建SSH Key ssh-keygen -t rsa -C "youremail@example.com" id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
  2. 登陆GitHub,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。

最后通过git clone + ssh地址,clone成功
在这里插入图片描述

建立远程仓库连接

新建一个git 远程仓库(推荐使用)

git clone http://xxx/just_test.git   # 从远程库克隆
cd just_test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master   # 将本地仓库的内容推送到远程仓库,第一次推送master分支的所有内容加 -u

已经有Git仓库

cd existing_folder
git init   # 把这个目录变成Git可以管理的仓库
git remote add origin http://xxx/just_test.git  # 关联远程库,远程库的名字就是origin
git add .   
git commit -m "write a message" 
git push -u origin master   # 将本地仓库的内容推送到远程仓库,第一次推送master分支的所有内容加 -u

项目中的常用命令

git clone ****.git
ls
cd path/
git checkout test  # 切换到test分支
#########################################################
git status  # 查看仓库当前状态
git add .    # 提交文件
git commit -m "modification message"
git push origin test

新建一个临时分支:

git checkout -b feature_x # 创建一个叫做“feature_x”的分支,并切换过去
git branch -d feature_x # 切换回主分支后,再把新建的分支删掉
git push origin <branch> # 除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的

更新与合并及冲突处理:

git pull # 更新本地仓库至最新改动,以实现在当前工作目录中 获取(fetch) 并 合并(merge) 远端的改动
git merge <branch> # 合并其他分支到你的当前分支
# 可能出现冲突(conflicts)的处理:需要修改这些文件来手动合并这些冲突(conflicts)。改完之后,需要执行如下命令以将它们标记为合并成功
git add <filename>
# 在合并改动之前,可以使用如下命令预览差异
git diff <source_branch> <target_branch>

因操作失误需要替换本地改动:

git checkout -- <filename> # 替换掉本地改动,此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
# 假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它
git fetch origin
git reset --hard origin/master
git reset --hard HEAD^ # 回滚到指定版本,上一个版本是HEAD^,上上个版本是HEAD^^
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突,即把Git合并失败的文件手动编辑为我们希望的内容,再提交。

比较:

  • git fetch <remote> Download all changes from remote, but don’t integrate into HEAD;
  • git pull <remote> <branch> Download changes and directly merge/integrate into HEAD.
  • git push <remote> <branch> Publish local changes on a remote

撤销/回退命令

  • git reset HEAD <file> 把暂存区的修改撤销掉(unstage),重新放回工作区 git reset HEAD test.txt
  • git checkout -- file 撤销工作区修改,例如 git checkout -- test.txt
  • git reset 回退版本 git reset --hard HEAD^ :把当前版本回退到上一个版本

diff 和删除:

  • git diff readme.txt 查看详细修改内容
  • git rm test1.txt 删除版本库中的文件 然后 git commit -m "remove file"

git 常用命令汇总如下

在这里插入图片描述

git删除已经提交的idea文件夹

参考:git如何删除已经提交的文件夹

git pull origin master                    # 将远程仓库里面的项目拉下来
dir                                                # 查看有哪些文件夹
git rm -r --cached .idea              # 删除.idea文件夹
git commit -m '删除.idea'        # 提交,添加操作说明
git push -u origin master               # 将本次更改更新到github项目上去

参考文章:
廖雪峰官网:git教程
Windows下Git入门教程
推荐文章:
pycharm连接git的使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值