跳至主要內容

Git

TenSoFlow...大约 8 分钟开发工具Git

Git

第01章 简介

Git是一个免费的,开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。创始人为Linux创始人Linux Torvalds。又称为版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

第02章 官网

Git官网open in new window

第03章 下载

Git下载open in new window

注意

下载完后一直下一步不建议修改安装目录,安装的目录路径不要有中文

第04章 作用

可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。能让个人开发过度到团队协作。

第05章 命令

下载完成后在某一文件夹下鼠标右键选择Open Git Bash Here会打开一个黑窗口,此窗口相当于一个小型的Linux环境,能输入Linux命令。

注意

第一次使用前必须要设置用户签名和邮箱,因为是多人环境,设置用户名和邮箱是为了方便区分。

// 作用:设置git的用户名和邮箱
// 命令:git config --global user.name [username]
// 命令:git config --global user.email [email]
// 说明:只在第一次时候使用,设置后每次提交代码可以知道是谁提交的,多人协作开发时方便管理。

注意

提交的文件中单个文件不能超过100MB不然推送不上去

Git常用命令

git init                      // 创建本地仓库
git status                    // 查看暂存区与非暂存区有哪些文件
git add .                     // 把当前文件夹下的所有文件都上传到暂存区
git commit -m "[版本说明文字]"  // 版本说明
git remote add [origin] [url] // 定义远程
git remote                    // 查看远程名
git pull [origin] [master]    // 拉取并合并代码
git push [origin] [master]    // 推送代码

Git命令大全

小贴士

以下命令中用[ ]括起来的内容表示自定义。如git add [FileName]表示FileName为自定义内容。可以为a.txt,也可为b.txt。

// 命令:git --version
// 作用:查看当前git版本
// 命令:git init
// 作用:会在当前文件夹下创建本地仓库即 .git 文件
可以指定当前文件夹下的哪些文件交给Git管理。当前文件下的所有文件叫工作区,交给Git管理的文件叫暂存区。
// 命令:git add [FileName]
// 作用:指定文件到暂存区即指定当前文件夹下的哪些文件交给Git管理。FileName是文件的名字,如user.txt。
// 扩展命令:git add .
// 作用:把当前文件夹下的所有文件都上传到暂存区即都交给Git管理。
// 命令:git rm --cached [FileName]
// 作用:把文件名为FileName的从暂存区删除
// 命令:git commit -m "[版本说明文字]" 
// 作用:将暂存区的所有文件提交到本地仓库也就是.git文件里,形成一次提交记录。"版本说明文字"是对这次版本的描述。可以自定义。
// 命令:git status
// 作用:查看暂存区与非暂存区有哪些文件
// 命令:git log
// 作用:查看提交历史。可以看到每次提交的ID、版本描述、提交时间、提交人的用户名和邮箱。
// 扩展命令:git log --pretty=oneline --all --graph --abbrev-commit
// 作用:简化提交历史信息的显示
// 为命令设置别名
1. 输入 touch ~/.bashrc命令创建~/.bashrc文件
2. 输入 nano ~/.bashrc命令编辑~/.bashrc文件
3. 在~/.bashrc文件中输入
	alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' 命令
	alias是设置别名的意思,上述的意思是将git log --pretty=oneline --all --graph --abbrev-commit设置成git-log
4. 输入 source ~/.bashrc命令 重新加载~/.bashrc文件
5. 成功,即可用git-log表示git log --pretty=oneline --all --graph --abbrev-commit
// 版本回退
// 命令:git reset --hard [commitID]
// 作用:回退到之前的版本 commitID可以使用git log指令查看
// 查看操作的历史记录
// 命令:git reflog
// 作用:查看回退版本的所有历史记录,有时候回退到前一版本之后,又想回退到现在的版本,用git log是看不到现在的版本ID,因为你回退到了上一个版本。这时候需要使用git reflog命令查看,他记录了你回退的所有操作以及对应的版本ID。
// 忽略文件
在.git的同目录下创建.gitignore文件,然后在里面填写忽略的文件即不想让git管理的文件。git会自动读取.gitignore文件里面的忽略文件。
// 查看分支
// 命令:git branch
// 作用:查看所有的分支列表
// 创建分支
// 命令:git branch [BranchName]
// 作用:创建分支,BranchName是自定义的分支名
// 切换分支
// 命令:git checkout [BranchName]
// 作用:切换分支,BranchName是要切换的分支名
// 创建并切换分支
// 命令:git checkout -b [BranchName]
// 作用:创建一个不存在的分支,并切换到这个不存在的分支。BranchName是当前不存在的分支名
// 合并分支
// 命令:git merge [BranchName]
// 作用:合并分支,一般都是先切换到master分支上,然后合并BranchName分支
// 删除分支
// 命令:git branch -d [BranchName]
// 作用:删除名字为BranchName的分支,需要做各种检查
// 命令:git branch -D [BranchName]
// 作用:删除名字为BranchName的分支,不做任何检查,强制删除
// 解决冲突
1. 先手动解决冲突
2. 然后 git add .
3. 然后 git commit -m "[Version Description]"
// 添加远程仓库
// 命令:git remote add [origin] [url]
// 作用:增加远程仓库 origin是这个远程仓库的名字可以自定义,url是仓库在gitee或者github上面的仓库地址。
// 查看当前定义的远程仓库名字
// 命令:git remote
// 作用:查看当前定义的远程仓库名字
// 推送代码到远程仓库
// 命令:git push [origin] [master]
// 作用:推送代码到远程仓库 origin是当前定义的远程仓库名字,master是想要推送到哪一个分支。
// 克隆代码
// 命令:git clone [url]
// 作用:从远程仓库克隆代码到本地,在哪里打开的git bash,会在打开git bash文件路径下创建一个文件夹并将克隆下来的代码放到此文件夹中。文件夹名字为url中最后一个/之后.git之前的符号。
// 命令:git clone [url] [FileName]
// 作用:从远程仓库克隆代码到本地,在哪里打开的git bash,会在打开git bash文件路径下创建一个文件夹并将克隆下来的代码放到此文件夹中。文件夹名字为自定义的FileName。
// 拉取代码
// 命令:git fetch [origin] [master]
// 作用:只拉取别人更改之后的代码,而不进行合并。origin是自定义的远程仓库名字,master是分支名。
// 拉取并合并代码
// 命令:git pull [origin] [master]
// 作用:拉取别人更改之后的代码并与你的进行合并。origin是自定义的远程仓库名字,master是分支名。

HTTPS方式提交代码

// 1.直接在主分支上提交。
git status
git add .
git commit -m "[版本信息]"
git pull [远程名] [主分支名]
git push [远程名] [主分支名]

// 2.本地自己创建一个分支,然后合并到主分支上,此种方法更安全。
git branch [SelfBranchName] // 创建自己的分支名-只需执行一次
git status
git add .
git commit -m "[版本信息]"
git checkout [主分支名]
git merge [自己的分支]
git push [远程名] [主分支]
git checkout [自己的分支]

SSH方式提交代码

1 在Git Bash黑窗口执行:ssh-keygen -t rsa -b 4096 -C "[自己的邮箱]"
如:ssh-keygen -t rsa -b 4096 -C "1413468037@qq.com"
一路回车即可(密钥默认保存在 ~/.ssh/id_rsa)

2 查看生成的公钥:cat ~/.ssh/id_rsa.pub
你会看到以下内容:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCLYYFdLy5WHKWNdEc5SXzZcV3XxSxkI22+0Qim0DdyCvspcgoftNrq/U7uj136bm72aIHZ851bO8hj6/6/GL6ODTgLoJT1JLBoN3zZmLfR1Z7UxcwB06IKSq3kqQBiPtdTOwpgKUIfZZOeDJjjrFOUm01eIBabOyxUFFUYI0ZNBqxZuLGDnPj39jefxjB0eqAKYxjsJO1h6cgsyVZE3mxwn7N2HZfMQ3NqF/TFktASUEN0BIZ8WiiSo+551yzJ/zGo2lbF4eiBytirdiQEEbHB/PKr6mnEHhGWGARKKJJrrf9bqIoitvWndNoKYk5SkFIPg1KDMH9LQ== 1413468037@qq.com

3 复制第2步输出的全部内容,到 GitHub → Settings → SSH and GPG keys → New SSH key → 粘贴保存。

4 测试连接:ssh -T git@github.com
如果配置正确,就会看到:
Hi TenSorFlow! You've successfully authenticated, but GitHub does not provide shell access.

以上步骤只需第一次使用SSH提交代码时操作一次即可。之后就可以使用正常的Git命令提交代码了。

Linux命令

// 命令:ll
// 作用:用于列出目录中的文件和目录的详细信息。它实际上是ls -l命令的一个别名,显示的结果
包括文件类型、权限、硬链接数、所有者、组、文件大小、最后修改时间和文件名等详细信息。
// 扩展命令:
ll -a:包括隐藏文件在内的所有文件。
ll -h:以人类可读的格式显示文件大小(例如,1K、234M、2G)。
ll -t:根据修改时间排序。
ll -r:逆序排列。
ll -R:递归列出子目录中的文件。
// 命令:touch [FileName]
// 作用:在当前文件夹下创建文件,FileName是文件名称,如touch demo.txt。
// 命令:clear
// 作用:清除当前所有文字
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8