目录
参考学习资料
Git 的安装
- 在Linux上,用自己对应的包管理工具可以轻松的安装,例如pacman -S git, apt-get install git, yum -y install git-core等命令。安装完后运行
git --version
检验是否安装成功 - 在Windows上,在官网下载安装包后就可以在GUI里运行git setup wizard。此处推荐使用git原生的git bash,也可以用Windows terminal操作git在运行前,执行如下两条命令以配置个人的用户名和电子邮件地址,可以通过git config --list命令检查已有配置信息
git --version
git config --list
git config --global user.name username
git config --global user.email useremal
github SSH 配置
原因:有时候从github上下载,可能需要SSH活着Https方式,为了方便,还是SSH好一些。
参考git ssh key配置
参考Macbook使用Gitlab配置SSH Key
ssh-keygen -t rsa -C "这里换上你的邮箱"
cd .ssh/
cat id_rsa.pub
测试本地与git的连接状态
ssh -T git@github.com
Git的操作
- Clone
使用git clone 从现有Git仓库中拷贝一个项目到本地,命令格式是git clone 。git clone的repo有ssh和https两种格式,如果要频繁进行push和pull操作的话,建议使用ssh免密来减少麻烦。
- –depth 创建一个指定深度的浅克隆。如果不需要看git log的话,可以git clone --depth=1以加快clone速度
- –shallow-since
- Add
Git add 命令将文件添加到暂存区,也就是工作副本,git add ,平时常添加当前目录下所有文件到暂存区,使用git add .
- Status
查看仓库当前的状态,显示有变更的文件。平时使用git status -s
以简洁查看变更文件目录,使用git status可以查看详细变更内容。
在每一次git commit之前,最好都执行一下git status以确保操作正确 - Commit
提交暂存区到本地仓库。git commit -m [message]
提交一些备注信息。在这里注意要设置要用户信息,包括用户名和邮箱 - Push
将本地的分支版本上传到远程并合并。git push
可以将你工作区的提交内容推送到远端服务器 - Pull
从远程服务器获取代码合并到本地。也就是git fetch和git merge FETCH_HEAD命令的缩写。在pull的时候可能会出现冲突,需要手动调整 - Log
git log可以用来回顾提交历史。这里体现了commit message的重要
- –oneline查看简洁版提交历史
- –graph打开拓扑图,看历史中什么时候出现了分支、合并(这里还是推荐vscode的gitlen扩展)
- –author=Linus查看特定用户Linus的提交部分
- Blame
git blame 查看特定文件的修改记录 - Branch
git branch可以查看现有分支,使用git branch 新建分支。也就是会有两个不同的工作区 - Checkout
平时就是用来切换分支,git checkout -b 用于转换当前的分支 - Merge
将当前分支合并到master分支去。这里时常会出现merge冲突,个人习惯是先在fetch远程最新仓库,然后在本地合并到master后一并推送。 - Cherry-pick
对于多分支的代码仓库,如果只需要将部分的代码变动(某几个提交)合并到另一个分支,可以使用cherry-pick。git cherry-pick ,这里的commit-hash是SHA-1值,这条命令可以将某一个提交合并到master分支里
create a new repository on the command line
echo "# B.2-semantic-segmentation-master" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:njuhuxw/B.2-semantic-segmentation-master.git
git push -u origin master
push an existing repository from the command line
# Git add 命令将文件添加到暂存区,也就是工作副本
git add .
git remote add origin git@github.com:njuhuxw/B.2-semantic-segmentation-master.git
# 查看仓库当前的状态
git status -s
# 提交暂存区到本地仓库
git commit -m [message]
# 新建分支main,暂时没用
git branch -M main
# 将工作区的提交内容推送到远端服务器
git push -u origin master