6.1 KiB
Git使用方法
配置OpenSSH
Windows 11自带了OpenSSH,无需安装。按如下操作生成SSH公钥和私钥:
首先,查看C:\Users
下面你的用户名对应的文件夹名字是什么。下面“你的用户名”都要替换成这个名字。
PS C:\Users\你的用户名> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\你的用户名/.ssh/id_rsa): C:\Users\你的用户名\.ssh\为这个私钥起个名字
Enter passphrase (empty for no passphrase): 按Enter
Enter same passphrase again: 按Enter
Your identification has been saved in C:\Users\HW\.ssh\example
Your public key has been saved in C:\Users\HW\.ssh\example.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 你的用户名@你的计算机名
The key's randomart image is:
+---[RSA 3072]----+
| xxxxx |
| xxxxx |
| .o |
| =o... |
| . XS+. |
| xxxxxxxx |
| o*.=+ . o |
| .++.==Eo.... |
| +=.=+o==oo. |
+----[SHA256]-----+
PS C:\Users\你的用户名>
然后,打开C:\Users\你的用户名\.ssh
(这个文件夹可能是隐藏的,打开“文件夹选项”中“查看”选项卡下的“显示隐藏的文件夹和文件”就能看到了,如图)
![01](vx_images/149635509246652.png =300x)
![](vx_images/303165709242406.png =300x)
注意:除了显示隐藏文件外,还有清除“隐藏已知文件类型的扩展名”复选框的选择。
在.ssh
目录下创建名为config
的文本文件,清除其扩展名。用记事本打开这个文本文件,键入:
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/你刚才给私钥起的名字
保存并退出。 之后,打开gitee.com,进行如下设置:
- 注册并登录账号;
- 打开右上角的头像->账号设置; ![](vx_images/286211310260286.png =300x)
- 在左侧找到安全设置-SSH公钥; ![](vx_images/519401410257890.png =300x)
- 为公钥取一个标题,用记事本打开
C:\Users\你的用户名\.ssh\你刚才取的名字.pub
,复制里面的内容到“公钥”一栏; ![](vx_images/94771710255392.png =300x)
注意:要用记事本打开的是扩展名为.pub的文件,不是无扩展名的文件。
- 单击“确定”;
- 把你用于注册Gitee的电子邮件地址发给我,我把你拉入我在Gitee上创建的团队;
- 同意加入那个团队。
现在,你应该可以看到我创建的“赛车”仓库了。
一般操作
- 在某个文件夹下打开终端;或右键单击“开始”按钮,然后单击“Windows终端”,用下列命令进入该文件夹:
cd <文件夹的绝对路径>
如果>
前的路径没有更改,尝试在cd
后面加上/d
参数。
cd /d <文件夹的绝对路径>
- fork仓库 单击“克隆/下载”上面一行最右面的“fork”。
- 克隆仓库
git clone <url>
url可以从Gitee上获得,具体方法如下: 在Gitee上的组织主页,打开“仓库”选项卡,单击“赛车”仓库; 单击“克隆/下载”旁边的倒三角; 单击“SSH”选项卡; 单击“复制”,url会被复制到剪贴板。 例如,克隆本赛车项目的命令为:
git clone git@gitee.com:tust-15-515/racing.git
注意:第2、3步只用操作一次。
- 切到dev分支
git checkout dev
- 进行编辑
- 回到终端,将编辑加入暂存区
git add .
- 提交编辑
git commit -m "本次提交的说明"
注意:冒号是英文冒号,要切换到英文输入法下输入。
- 推送提交
git push origin master
- 提交Pull request 在你自己的fork页面上,切换到dev分支,单击“Pull request”,按提示操作,把dev分支推送到团队的dev分支。
以上就是一个完整的git工作流程。
注意:每天开始之前,要Sync Fork。
git remote add upstream <团队仓库url> git fetch upstream git checkout master git merge upstream/master git checkout dev git merge upstream/dev git push origin master git push origin dev
遇到冲突怎么办
Pull request冲突
我来解决,如果太多,我会把Pull Request退回,你sync fork,重新处理冲突。
Sync Fork冲突
你的冲突的每个文件里会出现这种东西: ![146944813237262](vx_images/293691514257428.png =600x)
需要哪个留哪个,多余的删掉,然后重新添加至暂存区、提交、推送。
我想自己建立一个新项目
- 新建一个空文件夹,在里面打开终端,执行命令:
git init
- 在Gitee上建一个新项目,复制url
- 添加远程仓库
git remote add upsteram <项目url>
- 执行前面的第5步开始的东西。
- 如果要创建新分支:
git checkout -b <新分支名>
- 删除分支:
git branch --delete <分支名>
- 查看本地有几个分支
git branch
- 查看关联了几个远程仓库
git remote -v
- 善用Bing/百度/Google。
如何排除文件/删除文件/回滚更改
删除文件
git rm <filename>
git commit -m "删除xxx"
排除文件(适用于文件从未被提交过;如果已提交过,先删除)
在项目里面有一个.gitignore文件,打开它,将要排除的文件和文件夹加进去就行了。排除子文件夹和不在同一目录下的文件,应当注意文件夹与文件夹之间用“/”而非“\”分隔。
回滚更改
先看你提交过几次:
git log
然后用git revert
命令回滚:
git revert <CommitID>
如需回滚到的提交不是最后一个,则需要:
git revert <需回滚掉的最旧一次的提交>^..<需回滚掉的最新一次的提交>
注意:必须包含^。
然后会生成一个新的提交,这个提交不包含被你撤销的那些提交。
另外,关于git revert
还有些特殊情况,请详细阅读这篇文章:
Git 之 revert
关于git revert
的更多用法请百度。如需删除提交,使用git reset --hard
,具体百度。