Git的使用

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

git工作区域

  • 工作区(Working Directory): 添加、编辑、修改文件等操作
  • 暂存区: 暂存修改的文件,最后统一提交到git仓库
  • git仓库(Git Repository):最终确认的文件保存到仓库,成为一个新的版本

git初始化及仓库创建

1
2
3
4
5
6
7
8
9
10
11
# 1.设置用户名
git config --global user.name 'username'

# 2.设置用户邮箱
git config --global user.email '邮箱地址'

# 3.创建工作目录,初始化仓库
git init

# 查看用户信息
git config --list

向仓库中添加文件步骤

1
2
3
4
5
6
7
8
# 1.将文件从工作区提交到暂存区
git add 文件名

# 2.将文件从暂存区提交到git仓库
git commit -m '描述信息'

# 查看仓库状态
git status

删除git仓库文件

1
2
3
4
5
6
7
8
# 1.删除工作区文件
rm 文件名

# 2.从git中删除文件
git rm 文件名

# 3.提交
git commit -m '描述信息'

git远程仓库

作用:实现代码的备份、共享

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1.将远程仓库内容复制到本地
git clone 远程仓库地址

# 2.将本地仓库数据上传到
git pull 远程仓库地址

# 查看当前配置可用的远程仓库信息
git remote [-v]

# 添加远程仓库
git remote add origin <url>

# 删除远端库
git remote remove

# 从远程仓库更新本地仓库
git pull

git分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
git checkout -b 分支名		# 从当前分支创建一个新分支
git checkout -b [local_branch] [remote_branch] # 创建远程分支对应的本地分支

git checkout 分子名 # 切换分支

git branch # 查看本地所有分支
git branch -a # 查看所有分支

git push origin --delete # 删除分支远端分支
git branch -d # 删除本地分支

# 合并分支, 如:将login分支合并到master分支
git checkout master
git merge login

# 将其它分支(非master),提交到远程仓库
git checkout login
git push -u origin login # 将login分支推送到云端,并记录分login分支

变基 git rebase

1
2
3
4
5
6
7
git cherry-pick [commit id] # 将其他分支上的commit遴选到当前分支

git rebase [branch] # 将当前分支变基到[branch]分支上
git rebase -i HEAD~n # 修改最近n次提交
git rebase --edit-todo
git rebase --continue
git rebase —abort

其他操作

添加git忽略清单

在根目录下添加.gitignore文件,该文件中指定内容将被忽略

查看提交版本次数

1
git log

回退到指定版本

1
git reset

忽略文件修改

1
2
3
4
# 假定文件未更改
git update-index --assume-unchanged [file]
# 取消
git update-index --no-assume-unchanged [file]

使用ssh进行更新远程仓库

1
2
3
4
5
6
7
8
# 1.将远程仓库内容复制到本地
git clone 远程仓库地址

# 2.更改远程仓库url
git remote set-url origin <sshurl>

# 3.将本地仓库数据上传到
git push

Commit message 和 Change log 编写

https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

Github搜索技巧

  • in:name str
  • in:readme str
  • in:description str
  • stars:>1000
  • forks:>1000
  • pushed:>2020-1-1
  • language:java

参考


 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×