一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情。 Github学习记录:
一、会用到的操作
1.ls 或者 dir 查看文件内容 ls xxx(路径) 查看这段路径的文件 dir -h 显示隐藏文件夹
2.进文件夹 Windows PowerShell: cd c: 转文件(按Tab键补全文件名字) 如果是用cmd命令:进入各种盘:直接d: 不要加cd cd 转文件路径,如果打开一个gif啥的好像不用cd, 直接输入相关的文件名
3.git init 初始化文件
4.cls 清空所有的操作
5.cd ..返回上一个
6.mkdir xxx 创建文件
7.del xxx 删除文件
8.git status 查看状态
9.git branch 查看分支
10.git remote -v 查看分支情况
11.git remote remove 分支名 移除分支
二、(虚拟仓库)
1.创建虚拟仓库:
2.进入自己创建的虚拟仓库
3.标题复制自己仓库的网址:
4.通过Window PowerShell or 直接创立一个新的文件
5.打开到所创立的文件的路径,git init 初始化
6.输入git remote add xxx(某个文件名,一般叫origin) + GitHub虚拟仓库的网址
(如果是第一次使用GitHub则需要如下操作:
git config --global user.name "Fly-Pluche" (GitHub文件名)
git config --global user.email "527212878@qq.com" (GitHub创建时候所用的邮箱)
7.使用echo(回声):
echo “# learning-git” >> README.md(创立一个“README.md”,并且将# learning-git这段话存到其中)
8.git add ––all(将所有东东提交上虚拟仓库)
再输入 git status 查看状态 如果绿了,就代表success
9.git commit -m”xxx”(创建备注)
10.git push xxx master(这里的xxx与上面输入网址的那段操作时,所创立的文件名字一样such as :origin)
注意,其中的master是分支名字,也可以改。 正确输入后,回车,然后就是等待上传,转转转转。 If 成功,既出现success else 失败。
11.如果看不懂是否创建成功的话,就进入GitHub 中查看自己创立的虚拟仓库是否成功。
更新远程仓库
cd到你想要的某个文件夹
clone
把要更新的文件夹拉取下来 git clone github.com/Have/U2(仓库地…
cd进仓库文件夹
cd U2
建立远程连接
git remote add origin github.com/Have/U2(仓库地…
pull拉取
git pull origin main(branch分支名)
把你改动的东西拉到你clone的仓库里面
把你本地仓库添加到缓存区
git add --all
添加备注
git commit -m"heihei"
上传
git push origin main(分支名)
创建分支
法一: git branch +name 创建一个叫name的分支 创建好了之后,其实并没有指向这个新分支,你需要使用 git checkout name 切换到这个分支
法二: git checkout -b name 创建分支并指向
修改commit
来自:https://github.com/uolcano/blog/issues/12
1.修改最近一次的commit
git commit --amend
然后会进入一个文本编辑器界面,修改commit的描述内容,即可完成操作。 退出amend 先按一下Esc退出编辑,然后连续按两次ZZ(大写的)
修改提交的文件
git add <filename> # 或者 git rm
git commit --amend # 将缓存区的内容做为最近一次提交
2.修改任意提交历史位置的commit
可以通过变基命令,修改最近一次提交以前的某次提交。不过修改的提交到当前提交之间的所有提交的hash值都会改变。 变基操作需要非常小心,一定要多用git status命令来查看你是否还处于变基操作,可能某次误操作的会对后面的提交历史造成很大影响。
首先查看提交日志,以便变基后,确认提交历史的修改
git log 变基操作。 可以用commit~n或commit^^这种形式替代:前者表示当前提交到n次以前的提交,后者^符号越多表示的范围越大,commit可以是HEAD或者某次提交的hash值;-i参数表示进入交互模式。
git rebase -i 以上变基命令会进入文本编辑器,其中每一行就是某次提交,把pick修改为edit,保存退出该文本编辑器。
**注意:**变基命令打开的文本编辑器中的commit顺序跟git log查看的顺序是相反的,也就是最近的提交在下面,老旧的提交在上面
**注意:**变基命令其实可以同时对多个提交进行修改,只需要修改将对应行前的pick都修改为edit,保存退出后会根据你修改的数目多次打开修改某次commit的文本编辑器界面。但是这个范围内的最终祖先commit不能修改,也就是如果有5行commit信息,你只能修改下面4行的,这不仅限于commit修改,重排、删除以及合并都如此。
git commit --amend 接下来修改提交描述内容或者文件内容,跟最近一次的commit的操作相同,不赘述。
然后完成变基操作
git rebase --continue 有时候会完成变基失败,需要git add --all才能解决,一般git会给出提示。
再次查看提交日志,对比变基前后的修改,可以看到的内的所有提交的hash值都被修改了
git log 如果过了一段时间后,你发现这次历史修改有误,想退回去怎么办?请往下继续阅读
3.重排或删除某些提交
变基命令非常强大,还可以将提交历史重新手动排序或者删除某次提交。这为某些误操作,导致不希望公开信息的提交,提供了补救措施
git rebase -i 如前面描述,这会进入文本编辑器,对某行提交进行排序或者删除,保存退出。可以是多行修改。
后续操作同上。
4.合并多次提交
非关键性的提交太多会让版本历史很难看、冗余,所以合并多次提交也是挺有必要的。同样是使用以上的变基命令,不同的是变基命令打开的文本编辑器里的内容的修改。
将pick修改为squash,可以是多行修改,然后保存退出。这个操作会将标记为squash的所有提交,都合并到最近的一个祖先提交上。
**注意:**不能对的第一行commit进行修改,至少保证第一行是接受合并的祖先提交。
后续操作同上。
5.分离某次提交
变基命令还能分离提交,这里不描述,详情查看后面的参考链接
6.终极手段
git还提供了修改版本历史的“大杀器”——filter-branch,可以对整个版本历史中的每次提交进行修改,可用于删除误操作提交的密码等敏感信息。
删除所有提交中的某个文件
git filter-branch --treefilter 'rm -f password.txt' HEAD 将新建的主目录作为所有提交的根目录
git filter-branch --subdirectory-filter trunk HEAD
Fork后的相关操作
前提:fork了大佬的仓库到自己仓库 然后大佬更新了仓库,我们也需要更新我们本地fork的仓库
-
打开cmd ,cd到本地的仓库文件下
-
git remote -v(查看本地情况)
我们发现,还是origin,也就是之前我们pull下来时名字。
-
建立连接
git remote add corona(可以自己改名字) git@github.com:corwork.git
-
git remote -v
-
将corona的主分支pull下来
git pull corona master
版本回退
得到过去信息
git reflog
git reset --hard [id you wanna roll back]
git reset -mixed [id]
可能会遇到的bug
配置SSH
自行搜索 GitHub 配置ssh key
一个连续git命令的网站 learngitbranching.js.org/?demo=&loca…