Git 简要入门指北

算法竞赛
编辑文章

请按顺序阅读

常用操作

安装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>

删除名字为 tagNametag

git tag -d <tagName>

将所有 tag 推送到远程仓库

git push origin --tags

删除远程仓库上名字为 tagNametag

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 中就行了。

新评论

称呼不能为空
邮箱格式不合法
网站格式不合法
内容不能为空
    bwt
    2019-07-25 13:52

    Orz llf