关于git

来源:互联网 发布:网络推广员怎么做 编辑:程序博客网 时间:2024/05/16 15:42

git早已流行,但一直用惯svn,觉得git有点难上手.以前觉得google code不错,所以一拖再拖.但这两年经常连不上google code.而github也是个不错的替代品.必须果断转移,学习使用git的客户端.


主要对比svn来学习概括:
20150912修改
1.git客户端工具git-for-windows(以前叫msysgit),我下载的版本是Git-2.5.1-64-bit.exe,我选择的安装位置是d:\git
到https://github.com/git-for-windows/git/releases下载git
(注意:到https://desktop.github.com/下载github可能会慢得要死,我个人猜测是因为被天朝阻断.因为这个问题,我被困了一个晚上和一个早上,当然很困难有成功过,删除再重装还是非常困难,最后只好放弃,另觅蹊径)
安装过程中,要选择的选项,供于参考:
Adjusting your PATH environment这步选use git bash only(三个选项有什么不同,看选项的简介基本能知道了)
Configuring the line ending conversions这步选Checkout as-is,commit Unix-stule line endings
最后在系统系统变量加上D:\git\bin


可能有些人更喜欢安装PortableGit,我猜测这种便携式(绿色)安装,只是不会集成系统的context shell,也就是在右键菜单是不会有Git Gui Here和Git Bash Here,其他应该没有什么不同.


2.git客户端命令帮助
用于快捷查看命令用法: 命令后加-h,比如git config -h
打开文档查看命令用法: 命令后加--help,比如git config --help


3.注册github帐号和在线创建一个库.


比较简单,打开首页,点sign up按提示输入;点sign in,登进去,点+号按钮,按提示一步一步来


4.配置基本环境:
#配置用户名和密码
git config --global user.name "yourusername"
git config --global user.email "youremail@youremail.com"


#提交检出均不转换换行,在windows下这个比较烦.
git config --global core.autocrlf false


#每次提交之类的操作都要求输入用户名和密码(参考:https://help.github.com/articles/caching-your-github-password-in-git/)
git config --global credential.helper wincred


5.在github建库比较简单,不详说.删库有点隐蔽:进入库后,点settings->拉下到Danger Zone->Delete this repository...


6.与svn的ignore类似的是git的.gitignore文件,里面可以使用表达式忽略些文件或文件夹(不好的地方,自己本身.gitignore好像不能忽略).还有.git\info\exclude文件可以设置忽略同步的东东


7.常见需掌握命令


#列出所以设置库选项
git config --list


#对于svn的chekout工程,git可以使用git clone:比如远程克隆seajs到本地(后面的点表示当前目录,但后面加点时,当前目录必须为空)
git clone https://github.com/seajs/seajs.git .

#查看状态
git status

#类似于svn的添加,下面是将所以可以添加的文件添加到本地库(与github没半毛钱关系)
git add --all

#将改变的变化提交到本地库(与github没半毛钱关系)
git commit --all --message "commit message"

#同步到远程库
git push --force origin master

#查看提交日志
git log
还有git whatchanged还可以显示文件名,一样用*来模糊匹配,比如用法:git whatchanged --since="1 month ago" test.txt

#比较两个版本

git difftool,比如用法:git difftool 1af89906ebc074fd3f145d328c50020b5e6363fe 494462c219fec2b341972f601509bdb08abb5019 test.txt


#根据SHA恢复某个文件到某个版本

比如用法:git checkout 494462c219fec2b341972f601509bdb08abb5019  test.txt


#根据SHA恢复全部文件到某个版本

比如用法:  git reset 494462c219fec2b341972f601509bdb08abb5019 --hard



9.其它
Create a new repository on the command line

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/xiejx618/techresource.git
git push -u origin master




Push an existing repository from the command line


git remote add origin https://github.com/xiejx618/techresource.git
git push -u origin master


git gui:


缓存改动:git add
提交:git commit
上传:git push
上传之前要先提交,提交之前要先缓存改动.使用bash,可以直接commit,再push



Git 版本恢复还原命令 reset
1.    git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
2 .   git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
3.    git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容


git reset HEAD^    //回退所有内容到上一个版本
git reset HEAD^ a.py   //回退a.py这个文件的版本到上一个版本
git reset –soft HEAD~3   //向前回退到第3个版本
git reset –hard origin/master   //将本地的状态回退到和远程的一样
git reset 057d   //回退到某个版本
git revert HEAD    //回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit


ubuntu源码安装:

1.通过https://github.com/git/git/releases下载https://github.com/git/git/archive/v2.5.2.tar.gz.

2.解压并进入目录,习慢性地看看README和INSTALL两个文件,发觉README没有什么参考价值,那只看INSTALL就得了

tar xf git-2.5.2.tar.gz

cd git-2.5.2

3.

make configure       #如果没有安装autoconf,会提示找不到,sudo apt-get install autoconf就OK了

./configure --prefix=/home/xin/git    #我觉得一般源码编译安装一般都要指定安装位置.

make install     #如果提示tclsh failed; using unoptimized loading, 就安装几个依赖包sudo apt-get install tcl  build-essential tk gettext,然后再重新运行make install

4.配置环境变量sudo vi /etc/profile在尾行加上export PATH=/home/xin/git/bin:/home/xin/git/libexec/git-core:$PATH  ,最后source /etc/profile,让配置即时生效.






0 0
原创粉丝点击