app界面设计流程,湘潭seo网站优化,网站开发软件d,商务网站价格Intro
最近高强度使用github#xff0c;遂小计于此作为备忘。
Basic
github是一个代码管理软件#xff0c;能够track文件变动并且管理版本#xff0c;是当代coding必不可少的工具。当你安装好github在本地以后#xff0c;你可以通过以下命令初始化当前文件夹#xff08…Intro
最近高强度使用github遂小计于此作为备忘。
Basic
github是一个代码管理软件能够track文件变动并且管理版本是当代coding必不可少的工具。当你安装好github在本地以后你可以通过以下命令初始化当前文件夹假设是/WorkingSpace的github管理
cd WorkingSpace
git init此时/WorkingSpace下会创建一个隐藏文件夹.git它负责储存所有有关github的内容。 在初始化之后当前的仓库并没有track任何文件。运行以下命令将file加入track列表中
git add file正如linux的文件操作你可以使用.来代表当前文件夹下的所有文件通过以下操作你可以一键加入当前文件夹下的所有文件
git add .但是在复杂仓库的管理时切忌直接使用以上命令很容易track很多无意义的文件导致不必要的冗余与开销。你可以创建.gitignore文件在/WorkingSpace下直接将忽略的文件写在.gitignore中每个文件一行如
file每一次git add操作会将文件放入缓存区使用git commit将当前缓存区的内容记录为一个新的版本
git commit -m This is your commit message.每一次commit都有对应的ID你可以通过reset命令回到某个历史的版本中
git reset XXXXXXXXXXXXXXXXX此类reset为soft reset只会改变当前的版本号并不会改变本地的文件。 推荐使用VS Code的github功能你可以直观地使用进行管理、查看版本号。VS Code在此命令后会显示旧版本与本地文件的区别。
你还可以使用hard reset改变本地的代码本地代码将强制更改为某个版本的代码很难找回。
git reset --hard XXXXXXXXXXXXXXXXX你还可以使用HEAD表示当前最新的版本号这个命令可以帮助你快速清空缓存区。
git reset --hard HEAD事已至此你成功维护了本地的github仓库。
照着github的Create Repository你可以创建一个线上的github仓库便于备份与合作。你也可以直接clone一个远程仓库到本地
git clone gitgithub.com:UserName/RepoName.git
git clone https://github.com/UserName/RepoName.git你可以用pull将线上拉取到本地用push将本地更新到线上
git pull
git push由于git的要求你必须从当前git的最新版本进行更新再push否则你需要先与最新的版本进行手动的commit。由于这个特性更多时候版本更新是线性的在最后再merge起来。
Merge你可以使用git pull拉取远程仓库此时相同的文件将会存在本地和远程两个版本你需要逐行确认保留远程版本还是本地版本在VS Code上。
你也可以使用hard命令强制覆盖Remote仓库非常危险很难找回
git push --hardBranch
获取当前Local与Remote的Branch list.
git branch -a 从remote上新建分支LocalBranch的名字尽量与RemoteBranch名字相同否则有可能会出现问题
git checkout -b LocalBranch origin/RemoteBranch切换至LocalBranch需先将缓存区清空如git reset --hard HEAD
git checkout LocalBranch同一份代码也可以有不同的remote repo你可以将本地仓库与某个远程仓库绑定你可以用这个方法clone别人的代码并维护一个属于自己的仓库
git remote set-url origin gitgithub.com:UserName/RepoName.git当remote的branch信息更新时本地需要额外的fetch进行更新prune会删除remote中不存在的branch
git fetch --prune你可以使用-d删除本地分支-D为不顾及是否merge强制删除
git branch -d LocalBranchBug
fatal: The current branch main has multiple upstream branches, refusing to push.原因是当前branch在push的时候不知道自己的上游是什么没有关联起来。使用--set-upstream将本地LocalBranch与远程的RemoteBranch关联起来。
git push --set-upstream LocalBranch RemoteBranch当使用git branch -a时会输出
* mainremotes/origin/main这意味着--set-upstream的姿势应该是
git push --set-upstream origin main