请按顺序阅读
常用操作
安装Git
sudo apt-get install git
Windows 去下载安装 Git,然后右键选择 Git Bash Here
指定用户信息
git config --global user.name "<username>"
git config --global user.email "<email>"
这个信息会出现在 git log
中,不一定要和Github账号相同
如果不加 --global
则是指定当前项目的用户信息
初始化Git
git init
远程仓库相关
克隆远程仓库
git clone https://github.com/xxx/xxx.git
快速克隆(只保留最近一次提交信息):
git clone --depth=1 https://github.com/xxx/xxx.git
注意 clone
下来的文件夹内包含远程仓库信息
与远程仓库同步
git pull
注意该操作的原理为同步线上的所有修改,如果本地修改与线上修改冲突,则需要手动选择保留哪一个。
远程仓库信息
添加远程仓库:
git remote add origin https://github.com/xxx/xxx.git
删除远程仓库:
git remote rm origin
修改则是先删除再添加
上传到远程仓库
git add .
git commit -m "<注释>"
git push -u origin master
第一次 push
必须有 -u origin master
分支相关
分支可以理解成多个独立仓库,而这些仓库之间支持同步和合并功能。
Fork
也相当于新建分支。
新建分支
git branch <branchName>
重命名分支
git branch -m <branchName> <branchNewName>
切换分支
git checkout <branchName>
注意这时文件夹中的文件也会随之切换。
删除分支
git branch -d <branchName>
将分支推送到远程仓库
全部推送:
git push
将本地分支 branchLocalName
推送到远程分支 branchRemoteName
:
git push origin branchLocalName:branchRemoteName
tag
相关
tag
可以用来记录版本号等信息,用户可以通过点击 tag
到达对应的 commit
。
给最后一次提交打 tag
git tag <tagName>
给某一次提交打 tag
git tag -a <tagName> <commitID>
删除名字为 tagName
的 tag
git tag -d <tagName>
将所有 tag
推送到远程仓库
git push origin --tags
删除远程仓库上名字为 tagName
的 tag
git push origin :<tagName>
回退
Git 是版本控制系统,支持回退到任何一个历史版本。
先查看所有提交
git log
找到想回退的 commitID
,然后回退
git reset <commitID>
这时候文件结构不会改变,同样可以 git add .
后继续上传。
如果需要上传到远程仓库,需要使用 -f
:
git push -f origin master
为无权限 push
的仓库贡献
多人协作开发时,即便有权限,也请尽量这么做!
1. Fork
点击右上角的 Fork
按钮,Fork
一份到自己名下的仓库。
2. 修改
clone
自己名下的仓库后再本地修改,然后 push
。
3. 提交pr
点击绿色按钮下方的 Pull Request
,提交pr。
4. Merge
如果仓库主愿意添加这些修改,就可以选择 Merge
。
为仓库添加CI
CI,即持续集成,会在每一次提交或pr后自动运行。除了自动部署外,还可以检查代码正确性。
以 Travis CI 为例。
1. 授权仓库
使用 Github 账号登录,然后将需要持续集成的仓库授权给 Travis。
2. 添加文件 .travis.yml
以 Signer 为例
sudo: false #使用容器编译
dist: xenial #Ubuntu 1604
language: python #语言
python:
- "3.7" #版本,可以添加多个
git:
depth: 1 #clone属性
before_install: #需要提前安装的环境
- sudo apt-get install firefox
- sudo wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
- tar -zxvf geckodriver-v0.24.0-linux64.tar.gz
- sudo mv ./geckodriver /usr/local/bin/
- sudo chmod a+x /usr/local/bin/geckodriver
install: #安装依赖
- pip install -r requirements.txt
script: python3 main.py #命令
然后CI就会自动运行并返回结果。
3. 添加Badge
点击 Travis 中项目名右边的按钮,就可以得到Badge的代码,把它复制到 README.md
中就行了。
Orz llf