@ssyue
2016-11-24T08:30:32.000000Z
字数 2029
阅读 883
Git 计算机

去到你想要做版本控制的文件夹(最好是空的),打开git shell, 输入git init来初始化,就是声明,我现在要对这个文件夹监管啦!
在这个文件夹里开始do what you want!,添加文件,修改文件之类的,修改完之后,在git shell里输入git add >你修改(添加)的文件名,带后缀<比如git add file1.txt file2.txt.
Hint0:
git rm >文件名(带后缀)<删除文件。Hint1:
- 不管何时,你都可以用命令git status查看当前仓库的状态。
- 在git add之前,可以用命令git diff >你修改(添加)的文件名,带后缀<查看具体变化。
Add 完之后,git commit -m ">为此次修改写的注释<"。
Hint2:
-git log --pretty=oneline可以查看日志。
- 每个版本(每commit一次,产生一个新版本,)都有一个commit id,
-HEAD代表当前版本的commit id,HEAD^代表上一次版本的id。
-git reset --hard HEAD^回退到上一个版本。(HEAD^也可以换成id)
-git reflog查看历史命令。
git add修改了文件,不过还没有git add, 要撤销修改,则输入git checkout -- >文件名称(带后缀)<。
git add,未git commit修改了文件,git add过了,不过还没有git commit, 要撤销修改,则先输入git reset HEAD >文件名称<,退回到git add之前的状态(即情况一),再git checkout -- >文件名称(带后缀)<,完全撤销修改。
git add,已git commit,未推送到远端修改了文件,git add过了,也git commit过了,不过还没有把自己的本地版本库推送到远程。这就要用git reset --hard HEAD^.
以上只是在你的本地电脑修改了你的仓库,如果想与你的github账户上的repository同步,或者说备份到网上的话,就要有以下步骤:
本小节讲了先有本地库,后有远程库的时候,如何关联远程库。
创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "ssyue@whu.edu.cn"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
接下来可以参考教程。
git remote add origin git@github.com:WHU-SSYUE/git-try.git
origin 是你的远端的代号,可以随意修改。
git push -u origin master 把本地的master分支推送到远端origin上去,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改。
去到你想要克隆到的地方,打开命令行
git clone git@github.com:WHU-SSYUE/gitskills.git
现在才是git真正优势的地方,git分支管理允许多人协同工作。
git branch产看当前分支。
git checkout -b >新建分支名<等价于git branch >新建分支名<+git checkout >新建分支名<创建并切换到新分支。
在新分支git commit完之后,git checkout master回到master分支。
现在,我们把dev分支的工作成果合并到master分支上:
git merge newbranch
合并完成后,就可以放心地删除dev分支了:
git branch -d newbranch