赞
踩
git是一个分布式版本控制系统,能够跟踪文本文件的改动,结合对应的命令实现代码版本的控制。
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
每次修改了readme.txt,以上的add,commit可以再次使用,不断对文件进行修改,然后不断提交修改到版本库里。我们可以通过git log查看这些修改记录:git log或者 git log --pretty=oneline(后面这个更加简洁)。
$ git log --pretty=oneline
fd2f59e1e0214010c61377b6ae7a4c7253ce405e (HEAD -> master) rewrite readme txt
377b61e7b4c6c880acc365d9472d95e6e1225a0 wrote a readme file
你看到的一大串类似fd2f59e1…是commit id(版本号),是一个SHA1计算出来的一个非常大的数字,用16进制表示。HEAD表示当前的版本。
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交fd2f59e…(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。同时也可以用commit id.版本号没必要写全,前几位就可以了,Git会自动去找。 如果忘记commit id,可以使用要用git reflog查看命令历史,以便确定要回到未来的哪个版本。
工作区就是我们电脑上可见的目录,如GitTest目录。工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支
git rm readme.txt 相当于是删除工作目录中的readme.txt文件,并把此次删除操作提交到了暂存区。(新版本:git restore --staged ?)
git checkout – readme.txt相当于是让工作目录readme.txt恢复到暂存区中readme.txt的状态
使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
当创建的新分支和后续master上继续改进后的版本有冲突
文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件,定位到冲突的地方后改好然后再提交,合并完成
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
https://www.liaoxuefeng.com/wiki/896043488029600
https://www.runoob.com/git/git-basic-operations.html
https://devpress.csdn.net/cloud-native/64fab29787b26b6585a1f402.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6Mjg4OTIzOSwiZXhwIjoxNjk4Mzc0OTk0LCJpYXQiOjE2OTc3NzAxOTQsInVzZXJuYW1lIjoicXFfNDA5MTAxOTEifQ.vj-_dLU_8nCQNSEDYS2owL3jR0MwPSz1tzDgW5trnJE
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。