git config —global_Git 码云 vscode sourceTree 助力版本控制系统

1. git 指令集

#  git 初期配置
#  用户信息配置
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
#  文本编辑器配置
$ git config --global core.editor emacs
#  差异性对比工具配置
$ git config --global merge.tool vimdiff
# 查看配置列表
$ git config --list
# 查看单个配置环境变量
$ git config user.name
# 获取某个工具如何使用
$ git help <verb>
$ git <verb> --help
$ man git-<verb>

# 取得项目的 Git 仓库
# 1) 在工作目录中初始化新仓库
$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version'

# 2) 从现有仓库克隆
$ git clone git@gitee.com:oschina/git-osc.git
$ git clone git@gitee.com:oschina/git-osc.git mygrit
# Git 支持许多数据传输协议。之前的例子使用的是 git:// 协议,不过你也可以用 http(s):// 或者 user@server:/path.git 表示的 SSH 传输协议。
# 私有的项目有私有的解决方法SSH

#通过HTTPS协议克隆
git clone https://gitee.com/zxzllyj/sample-project.git
#通过SSH协议克隆
git clone git@gitee.com:zxzllyj/sample-project.git

# 同步(拉取)
git pull origin master

# 推送
git push origin master
git push origin master -f

# 暂存
git stash
git stash pop
git stash list

# 撤销
git reset --hard
git reset 1d7f5d89346
# Git Commit message 编写指南
git commit -m "hello world"
<type>(<scope>): <subject>// 空一行<body>// 空一行<footer>

# 查看历史提交记录
git log --pretty=oneline
git log
命令,查看每次提交更加详细的信息

# 版本回退
git reset --hard 版本的hash码
还记得版本的hash码吗?它是用来唯一的标识版本的,你可以用git log来查看每个版本的hash码,你不需要写全,一般写前5位就可以了,git会自动帮你补全,例如:
git reset --hard b41b

22ceb09e5c7d3e28861b79b67eddf8f1.png

c464eaa286ca5a6eb3ea8cfed4633596.png

bf7c8502cbc05e117e31515035d213d1.png

9a630bdf87df96d12d32d1e3baa4f4ef.png

27dfd606aadf1b61328af9b68afabf20.png

在新的系统上,我们一般都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。

Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

初次运行 Git 前的配置 - 码云 Gitee.com​gitee.com
9445ae475aa5c3cc532d5e234e97a5f4.png
  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
  • 当前仓库的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前仓库有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:Documents and Settings$USER。此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。

在macbook pro上Git 是不用去寻找gitconfig的文件夹目录的

用户信息配置

第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

每个安装了git的计算机可以看作是一个项目的开发者,首先,你需要配置你的名字和邮箱,以便让你的团队知道你是谁。

打开控制台,运行以下命令:

git config --global user.name "你的名字"
git config --global user.name "你的邮箱"
$ git config --global user.name "John Doe" 
$ git config --global user.email johndoe@example.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的仓库都会默认使用这里配置的用户信息。如果要在某个特定的仓库中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前仓库的 .git/config 文件里。

文本编辑器配置

接下来要设置的是默认使用的文本编辑器。Git 需要你输入一些额外消息的时候,会自动调用一个外部文本编辑器给你用。默认会使用操作系统指定的默认编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:

$ git config --global core.editor emacs

差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

$ git config --global merge.tool vimdiff

Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。当然,你也可以指定使用自己开发的工具。

查看配置信息

要检查已有的配置信息,可以使用 git config --list 命令:

$ git config --list 

user.name=Scott Chacon user.email=schacon@gmail.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto ...

有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

$ git config user.name 

Scott Chacon

取得项目的 Git 仓库 - 码云 Gitee.com​gitee.com
9445ae475aa5c3cc532d5e234e97a5f4.png
码云gitee添加公钥 - 热爱生活。 - 博客园​www.cnblogs.com
51d84f848300935d01e24f4d9eebc47f.png

每次提交代码到码云的时候,都需要输入账户密码,真的很不方便,好在码云给我们提供了解决方案,只需要创建秘钥对,在码云上添加公钥就可以了,把私钥保存在本地即可,以下就是添加公钥的步骤。生成秘钥对
仓库的 SSH Key 和账户 SSH Key 的区别?

和仓库"只读"权限的 SSH Key 相比,账户的 SSH Key 同时具备推送/拉取的权限,对用户创建/参与的仓库均能使用,使用起来更加方便。

仓库的 sshkey 只针对仓库,且我们仅对仓库提供了部署公钥,即 仓库下的公钥仅能拉取仓库,这通常用于生产服务器拉取仓库的代码。
而用户的 key 则是针对用户的,用户添加了 key 就对用户名下的仓库和用户参加了的仓库具有权限,一般而言,用户的key具有推送和拉取的权限,而仓库的 key 则只具有拉取权限。
  1. 打开git bash
  2. 输入ssh-keygen -t rsa -C "你的邮箱地址" 三次回车之后就可以生成密钥对
  3. 输入cat ~/.ssh/id_rsa.pub 查看你的 public key(公钥),结果如下:

3e37f7d33e8fb275710036f249b58430.png

aad180e069cd62aecd66cfa9a8e90ae8.png
Sourcetree | Free Git GUI for Mac and Windows​www.sourcetreeapp.com
a2100faa82e65df126f38a6ecbf1fff0.png

8f299d22f85504285f125c40ead60d0f.png

9a028646be2ecb79e3b6c830d65b9f78.png
FreeMan:如何将git本地仓库上传到远程仓库?​zhuanlan.zhihu.com

clone/克隆 码云 private/私有 git项目.md

生成ssk公钥关键ssh-keygen -t rsa -C "xxxxx@com"
打开终端黑窗口,输入ssh-keygen -t rsa -C "xxxxx@com",其中,xxxxx@com替换成你在github或者gitee的邮箱。
需要输入密码则输入密码。
需要覆盖则覆盖。

aa8f2afd6c7793cda994d3c23f461669.png
ssh-keygen -t rsa -C "xxxxx@com"
git clone https://gitee.com/mingleadgene_zhoujianaaa123/PHD_Thesis_20200214.git myPHDs

fd219ef663dc015814b68a82aaeffcf0.png

1f2490d1db94a1972d55132d55488051.png
克隆公有和私人的项目
clone/克隆 码云 private/私有 git项目.md​www.jianshu.com
0934ed4a865d191e212578bf3b147ab4.png

0953139532d651cc52ea45a002d2c4fe.png

仓库基本管理

初始化一个Git仓库(以/home/gitee/test文件夹为例)

$ cd /home/gitee/test    #进入git文件夹 $ git init               #初始化一个Git仓库

将文件添加到Git的暂存区

$ git add "readme.txt" 

注:使用git add -Agit add . 可以提交当前仓库的所有改动。

查看仓库当前文件提交状态(A:提交成功;AM:文件在添加到缓存之后又有改动)

$ git status -s

从Git的暂存区提交版本到仓库,参数-m后为当次提交的备注信息

$ git commit -m "1.0.0"

将本地的Git仓库信息推送上传到服务器

$ git push https://gitee.com/***/test.git

查看git提交的日志

$ git log

3f3269f86fd609386f7e10f54b928ca1.png

上传本地项目文件夹子到远程仓库

在所要上传的文件夹目录打开bash:

输入一下指令:

git init
git remote add origin 将要上传的远程仓库的地址.git在下图里面找
(刚才说到,remote可以看做是一个人的电脑,假设有十个人合作,那么就有10个remote对象。为了方便大家同步,我们创建一个叫做origin的remote,大家都和这个origin同步,那么大家就可以达成一致了。

很多人的Git操作的第一句话是

git clone xxx
)
其实,一开始的 git clone xxx 命令,可以看做是一个复合命令,它做了两件事:第一,下载文件,第二,执行 git remote add origin xxx

高级内容

f8ac7eecbd4f61381ce2d4699b089421.png

9c47fe21136ef0c5448e19cc17b4962c.png
git pull origin master
将码云上的仓库pull到本地文件夹
这一步是必须的,否则不给上传权限
将要上传的文件,添加到刚刚创建的文件夹
git add . (. 表示所有的)或者 git add + 文件名 // 将文件保存到缓存区
git commit -m '新添加的文件内容描述' //添加文件描述
git push origin master ,将本地仓库推送到远程仓库


运行结果如下

fa0113503a3fe7986af530a37b87ae2c.png

fb699d574f4a8e97ea219b5c95e4d1c5.png

VScode 链接码云进行修改,同步和更新

VSCode工具使用git链接码云 - RichardTnag - 博客园​www.cnblogs.com
905546d0841902e1eb9d4a93f512957d.png
只需要在 消息 文本框中输入更新时候的文字标注 并且点击 绿色框的按钮即可。

f0f56be5643c5c906a660c311f3e48cd.png

de813cf7710ea6bf59d2dc81c6021293.png

远程仓库管理

修改仓库名

一般来讲,默认情况下,在执行clone或者其他操作时,仓库名都是 origin 如果说我们想给他改改名字,比如我不喜欢origin这个名字,想改为 oschina 那么就要在仓库目录下执行命令:

git remote rename origin oschina

这样 你的远程仓库名字就改成了oschina,同样,以后推送时执行的命令就不再是 git push origin master 而是 git push oschina master 拉取也是一样的

添加一个仓库

在不执行克隆操作时,如果想将一个远程仓库添加到本地的仓库中,可以执行

git remote add origin  仓库地址 

注意: 1.origin是你的仓库的别名 可以随便改,但请务必不要与已有的仓库别名冲突 2. 仓库地址一般来讲支持 http/https/ssh/git协议,其他协议地址请勿添加

查看当前仓库对应的远程仓库地址

git remote -v

这条命令能显示你当前仓库中已经添加了的仓库名和对应的仓库地址,通常来讲,会有两条一模一样的记录,分别是fetch和push,其中fetch是用来从远程同步 push是用来推送到远程

修改仓库对应的远程仓库地址

git remote set-url origin 仓库地址


Git 仓库基础操作 - 码云 Gitee.com​gitee.com
9445ae475aa5c3cc532d5e234e97a5f4.png

Git以及它的可视化工具SourceTree

不会代码的人,推荐可视化工具sourceTree

更多更新:

b47ec1693d290eee22580e761c4ca49b.png
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值