Git Basic Usage

@adens 11/28/2016 8:06:21 AM

前言:Git作为目前世界上最先进的分布式版本控制系统,当然有必要好好学习一下。

以下所有操作均在Windows环境下。虽然很想尝试玩一玩Linux,可惜现有条件不允许。

学习查阅了廖雪峰老师的博客,感谢老师。

1 安装Git

https://git-for-windows.github.io/下载Windows专用安装Git。

安装完后打开Git Bash命令行输入:

git config --global user.name "adenW"
git config --global user.email "1244193130@qq.com"

这样一来我在电脑上的Git操作都是adensW进行操作了。

2 本地使用Git

到想要创建Git版本库的文件夹下右键点击Git Bash Here 就会弹出cmd窗口默认位置在该文件夹下了。

创建Git本地库输入:

git init

添加文件到Git库

git add readme.md
 

提交文件到Git库

git commit -m "wrote a readme file"
 

版本回退

git reset --hard HEAD^
 

查看log

git log
 
  1. 删除文件

直接删除文件,或执行 rm test.txt 这样都只是删除文件管理器里的文件。Git 版本库里还没有删除。

如果是错删了,可以恢复

git checkout -- test.txt
 

恢复到Git库里的版本。 若真要从版本库里删除:

git rm test.txt
 

再提交

git commit -m "remove test.txt"
 

这样就都删除了。

3 托管到GitHub

联网操作才是最好的。

注册GitHub,添加GitHub SSH连接认证 一顿操作参考廖老师博客地址

在GitHub上创建Repository。使用New repository,写上项目名称等等。

本地上传到GitHub:

关联我的GitHub库

git remote add origin git@github.com:adensW/DailyAssignment.git
 

首次上传项目:

git push -u origin master
 

以后同步项目:

git pull origin master
 

克隆项目

git clone git@github.com:adensW/DailyAssignment.git
 

这里遇到一个问题:因为以前测试的时候有过上传测试,所以origin这个本地名被关联了其他的GitHub库。出现了错误:fatal: remote origin already exists. 解决办法:

使用其他的命名。

git remote add DailyAssignmentOrigin git@github.com:adensW/DailyAssignment.git
 

更改origin 的关联GitHub库

git remote set-url origin git@github.com:adensW/DailyAssignment.git
 

因为一开始使用了方法1. 但是 origin 的关联本来就是测试没有用处所以可以删除了,重新关联到这次的 GitHub 库

git remote rm origin
git remote add origin git@github.com:username/myapp.git
 

4 创建分支合并分支

创建开发分支

git checkout -b dev
 

( -b 参数表示创建并切换) 查看当前分支

git branch
 

切换回 master 分支合并分支

git checkout master
 

合并分支

git merge dev
 

同步到 GitHub

git push origin master
 

5 vscode 中使用Git

  1. 可以 ctrl + j 呼出终端,使用git 命令(不用开头写 $ 符号)
  2. 在左下角可以切换 branch ,Ctrl + Shift + G 呼出源代码管理界面,点击 … 按钮 同步(合并分支) ,提交(提交文件到Git库),推送(同步到 GitHub)。

6 从Fork的项目更新当前版本

  1. 设置upstream
git remote add upstream [fork_url]

2.拉取upstream的最新代码

git fetch upstream

3.查看upstream提交的历史记录

git log --no-merges master..upstream/master

4.合并到本地origin

git merge upstream/master

注意:合并需要本地版本库不能有未提交的内容

8.修改gitignore文件不生效问题

修改.gitignore文件后使用各种可视化工具,仍然将需要忽略的文件包含在版本库中. 检查gitignore字段是否正确,由于可以包含正则匹配可能错误. 一切都正确的话就需要清除所有版本库cache,重新进行提交

git rm -r --cached .  #清除缓存
git add . 
git commit -m "update .gitignore" 
git push  
```'

Last Modification : 11/28/2016 8:06:21 AM


In This Document