git学习

来源:互联网 发布:怎样卸载windows游戏 编辑:程序博客网 时间:2024/06/14 09:38

(1)git fetch

将某个远程主机的更新,全部取回本地。

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

gitpull:相当于是从远程获取最新版本并merge到本地 

(2)git add

gitadd -A 保存所有的修改

gitadd . 保存新的添加和修改,但是不包括删除

gitadd -u 保存修改和删除,但是不包括新建文件。

gitadd -A=git add .+git add -u 

(3)github代码和本地同步

1.github创建repository

2.本地可以先不用gitinit,直接到你想gitinit的文件夹下

gitclonehttps://github.com/xxx/private-documents.git

3.clone下来的文件夹里面的所有内容剪切出来(包括.gitLICENSE.gitignore等),粘贴到你想git init的文件夹下,然后删除clone下来的文件夹。

4.修改.git所在的文件夹。

5.进行一系列git操作,gitstatus,git diff,git add .,git commit -m “first”等。

6.git push origin master(or branchname),期间需要输入账号密码,账号就是xxx相当于所有人都可以clone你的repository,但是只有知道你的账号密码才能push

(4)git使用

git工作区指的是和.git文件夹在同一文件夹的所有文件。

也可以理解成包含.git文件夹的那个文件夹。

在该工作区的任何位置,使用git命令,效果是一样的,当然gitstatus显示的文件路径会有所不同。(待充分验证,只是简单验证了下。)

强烈建议就在包含.git文件夹的那个文件夹执行git命令。

git config -l

一般用来看本地user.nameuser.email

git status

可以看到修改了还没add的文件,changesnot staged for commit.

也可以看到add了没commit的文件changesto be committed.

git log

最近到最远的提交日记


Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100^比较容易数不过来,所以写成HEAD~100

git reset - -hard HEAD^

版本回退到上一版本,同时清空stage(相当于当前工作区的所有修改都干掉了,返回到上一次commit的时候,在误操作后最好的解药,然后gitpull origin master(or branch)



工作区修改内容只有若干个,stage是空的。想要撤销工作区的修改。

git checkout filename1;

git checkout filename2;

工作区修改内容非常多,stage是空的。想要撤销工作区的所有修改。

git add .

git reset - -hard HEAD

这两步缺一不可。

也可以用gitcheckout // .

git reflog

用来记录你的每一次命令,版本回退后想再退回来的时候用来查commitID.

git reset - - hard commit ID 可以版本往回退,也可以往前追。

回退的版本号可以gitlog查看,前追的版本号用gitreflog查看。

用来确定回退到过去的哪个版本和回退到未来的哪个版本。

(5)去分支编程的正确步骤

git branch //查看当前分支

git branch -a //查看所有分支

git checkout xxx //切换到目标分支

git pull origin xxx //更新目标分支

开始编程

git status

git add -A //修改添加到stage缓存区

git status

git commit -m “your content” //commit

git status

git push origin xxx //上传到远程repository

(6)git查看提交的代码 详细更改部分

git show xxx

xxxcommit号。

(7)如何用git查看一个目录结构已经修改的文件的修改记录

git log package/apps/Mms

(8)git各种导出

git show xxx >log1.txt

git log package/apps/Mms >logmms.txt

git log >logtotal.txt

(9)git搜索

git log –-grep=“xxx”



原创粉丝点击