代码拉取完成,页面将自动刷新
同步操作将从 廖雪峰/learngit 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
1、git init:初始化一个Git仓库。
2、添加文件到Git仓库,分两步:
第一步,使用命令git add <filename>,注意,可反复多次使用,添加多个文件;
第二部,使用命令git commit -m "提交说明",完成。
3、git status:打印整个工作区的状态。
4、git diff <filename>:查看修改内容。
5、git log:查看系统中的历史commit提交记录
如:git log 或git log --pretty=oneline
其中pretty指定打印提交记录内容的格式,可选的值有:oneline,short,medium,full,fuller,email,raw和一些自定义的字符格式。
补充:
--graph可以看到分支合并图。
--abbrev-commit打印简短commit-id。
6、git reset --hard <commit_id>:将head的值设定为指定的commit_id,
HEAD表示当前版本id,
HEAD^表示上一个版本id,
HEAD^^表示上上一个版本id,
HEAD~100表示上上100个版本id,
版本id也可以在git log命令中查看,commit就是。
7、git reflog:记录你的每一次有关head的历史命令记录
8、工作区(Working Directory):就是当前的工作目录。
版本库(Repository):工作区下的隐藏目录.git。
暂存区(stage):版本库中的index(或者是stage)文件。
git add命令就是把文件修改添加到暂存区(stage)中;
git commit命令就是把暂存区的所有内容提交到当前分支中。(如下图)
9、git checkout -- <filename>:把工作区中对filename文件的修改撤销掉
这里有两种情况:
一种是修改后还没放到暂存区(即:还没有使用git add命令),现在撤销修改就是回到和版本库一模一样的状态;
一种是已经添加到暂存区后,又作了修改,现在撤销修改就是回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态
补充:
git checkout <name>:切换到相应的分支上。
10、git reset HEAD <filename>:把暂存区中对filename的修改撤销掉(此步是把修改从暂存区撤销到工作区,要想撤销工作区的修改,要进一步的使用git checkout -- <filename>命令)
如果修改已经提交到版本库中了,在没有把本地版本推送到远程的情况下可以使用git reset --hard <commit_id>命令进行版本回退了。
11、git rm <filename>:在暂存区记录下要删除文件filename,使用git commit命令提交删除申请,从版本库中删除文件。
12、ssh-keygen -t rsa -C "youremail@example.com":使用自己的邮件在用户主目录下生成SSH key。(要在主目录下运行此命令)
-t 指定加密方式,可以值有:rsa、dsa,默认为:dsa
-C是添加注解comment,可以不是自己的邮件,也可以不要此项。
13、git remote add origin git@github.com:<github用户名>/<仓库名>.git 将本地仓库与github上的仓库关联起来。
origin为远程库的名字。
14、git push -u origin master:将本地库的所有内容推送到远程库上。(只有第一次推送的时候才加上-u)
15、git config --global user.name "用户名":配置缺省的用户名。
16、git config --global user.email "":配置缺省的email,最好和注册时使用一样的email。
17、git clone git@github.com:<用户名>/<仓库名>.git:从远程库中克隆版本库到本地。
18、git branch:查看分支。
补充:
git branch --set-upstream branch-name origin/branch-name:创建本机分支与远程分支的链接关系。
19、git branch <name>:创建分支name。
20、git checkout <name>:切换到分支name。
21、git checkout -b <name>:创建并切换到分支name。
22、git merge <name>:合并name分支到当前分支中。
如果合并的时候产生了冲突,git会告诉我们在哪个文件上产生了冲突(git status也会告诉我们冲突的文件),必须手动解决冲突后在提交。
补充:
--no-ff参数表示禁止使用Fast forward模式合并,应为本次合并要创建一个新的commit,所以要加入-m,将commit描写写进去。
23、git branch -d <name>:删除分支name。
补充:
git branch -D <name>:强行删除那么分支。
24、git stash:把当前工作现场储藏到工作栈中(入栈操作)。
25、git stash list:查看储藏工作现场的栈里的内容。
26、git stash apply stash@{n}:将工作栈中的第n个工作现场回复出来。
27、git stash drop:删除工作栈中第一个工作现场。
28、git stash pop:回复工作现场的同时把相应的内容从工作栈中删除。(出栈操作)。
29、git remote:查看远程库信息。
-v:查看远程库详细信息,其中fetch是抓取地址;push是推送地址。
30、git pull:把别人最新的提交从远程上抓取下来。
31、git tag <name> [commit-id]:在commit-id处创建一个标签,commit-id默认为HEAD。
-a tagname -m "blablabla...":指定标签信息。
-s tagname -m "blablabla..." :可以使用PGP签名标签。
32、git tag:查看所有标签。
33、git show <tagname>:查看标签详细信息。
34、git tag -d <tagname>:删除本地标签。
35、git push origin :refs/tags/tagname:删除一个远程标签。
36、git push origin origin tagname:推送标签到远程。
37、git push origin --tags:推送全部标签到远程。
38、.gitignore文件:忽略特殊文件,https://github.com/github/gitignore。
大家辛苦了,comment里面欣赏下美女吧!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。